Skip to content

PTQUERY

Operation

Reads the selected raw page-table descriptor without changing translation state.

Assembler Syntax

PTQUERY pt_level(i), <ea>(e), Rn(d)

PTQUERY pt_level(i), Rn(s), Rn(d)

Privilege

Supervisor only

PTQUERY reads the raw descriptor selected by a linear address and requested page-table level, or returns zero when the requested entry cannot be read. FLAGS.Z reports structural validity under the layout selected by PTE.T; FLAGS.N, FLAGS.C, and FLAGS.V are zero.

The requested level is the low three bits of the level operand. Values outside 1 through 4 raise INVALID_CONTROL_SELECTOR. With PTCR.TT=010, an L4 query is reported as an ordinary unsuccessful query before reading a PTE. With an unassigned PTCR.TT encoding, no geometry is selected and every query is reported as an ordinary unsuccessful query before reading a PTE.

  1. Compute the linear address without reading the source memory and reject a noncanonical address as an unsuccessful query.

  2. Starting at the PTCR root, read one 64-bit PTE per level. Every preceding entry must be a valid table pointer; a valid earlier leaf prevents traversal to a lower requested level.

  3. Stop after reading the requested level. A structurally malformed entry or valid leaf terminates the query at that level.

  4. Return the requested raw PTE and set FLAGS.Z only when it is structurally valid under the table-pointer or leaf layout selected by PTE.T at that level. Table-pointer validity uses the current source level, and traversal preserves the complete PTE.NEXT_TABLE value. FLAGS.N, FLAGS.C, and FLAGS.V are zero.

Failure before the requested entry is read returns zero and clears all four flags. The walk ignores PTCR.PE, does not set PTE.A or PTE.D, does not modify a TLB, and does not raise an ADDRESS_TRANSLATION family event for walk failure.

2.75in

Encodings

PTQUERY pt_level(i), <ea>(e), Rn(d)

Format: Instruction format for PTQUERY pt_level(i), <ea>(e), Rn(d)

Format: Instruction format for PTQUERY pt_level(i), <ea>(e), Rn(d)

2.75in PTQUERY pt_level(i), Rn(s), Rn(d)

Format: Instruction format for PTQUERY pt_level(i), Rn(s), Rn(d)

Format: Instruction format for PTQUERY pt_level(i), Rn(s), Rn(d)