GENWQE_POKE(1)

πŸ“¦
version 4.0.20 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

πŸŽ€ NAME πŸŽ€

genwqe_poke β€” the IBM Hardware Accelerator Tool, bestie. Yes, that's the whole name, and yes, we're gonna learn it together πŸ’–

This one's a User Command, and it ships as part of GENWQE_POKE(1) β€” so you already know it's gonna be a whole moment ✨


🌸 SYNOPSIS 🌸

genwqe_poke [-h] [-v,--verbose]

πŸ’… DESCRIPTION πŸ’…

Okay so here's the tea on all the flags, no cap. Every single one, right in order 🫢

  • -C,--card <cardno> β€” the card number, and it can be (0...3).
  • -A, --accelerator-type=GENWQE|CAPI β€” pick your accelerator type: GENWQE or CAPI. Heads up tho, CAPI is only available for System p. Periodt.
  • -V, --version β€” print version. That's it, that's the whole job ✨
  • -q, --quiet β€” it says quiece output. in the source and I'm keeping that exactly, so: quiece output 😭
  • -w, --width <32|64> β€” access width. 64 is the default, so if you say nothing, you get the big one.
  • -X, --cpu <id> β€” only run on this CPU. It's giving "one specific core and nowhere else" energy.
  • -i, --interval <intv> β€” interval in usec. 0 is the default.
  • -c, --count <mum> β€” number of pokes. 1 is the default. (Yes, <mum> β€” that's literally what it says, I am not touching it πŸ’€)
  • -r, --read-back β€” read back and verify. Trust but verify, queen πŸ‘‘
  • -p, --psl-bar <bar> β€” access PSL bar. This one is CAPI only, so don't try it on GENWQE bestie.
  • -m, --mask <mask> β€” the mask math, verbatim:
x = (x & ~mask) | (val & mask)

And here's how you call it:

<addr> <val>

πŸ¦‹ Example πŸ¦‹

genwqe_poke 0x0000000 0xdeadbeef

0xdeadbeef my beloved πŸ“


πŸ”₯ Testcase to trigger error recovery code on genwqe card πŸ”₯

Okay so if you WANT to see the card do its little recovery dance (this is literally the testcase for that, it's not a vibe I invented):

Fatal GFIR:

genwqe_poke -C0 0x00000008 0x001

Info GFIR by writing to VF:

genwqe_poke -C2 0x00020020 0x800
⚠️ Bestie listen β€” that first one is literally named "Fatal GFIR". It's a deliberate error-trigger testcase. You're poking hardware on purpose here. Main character energy, but carefully πŸ’€

🧚 Registers for Capi card (-A CAPI) 🧚

  • FIR Reg: 0x1000 ... 0x1028, 6 Regs
  • Err. Inj Reg: 0x1800 and 0x1808
  • Agr. Regs: 0x2000 and 0x2078
  • Gzip Regs: 0x2100 and 0x2178

⭐ Only CAPI (debugging) ⭐

genwqe_poke -ACAPI -C0 --psl-bar=2 --width=64 --mask <mask>
<offs> <data>

Just so we're keeping it 100: that invocation is the Only CAPI (debugging) one, so it's -ACAPI all squished together, --psl-bar=2, --width=64, and then your --mask <mask> with <offs> <data> at the end. Iconic, lowkey. πŸ’…


Alright that's the whole page, and just so you have the receipts: this is genwqe_poke version 4.0.20, dated August 2025. Slay, go poke responsibly πŸ«ΆπŸ’œπŸŒˆ

πŸ“¦ where this page comes from