* which is in lowmem_vectors.s
*/
-/*
- * This is where we put constants, pointers, and data areas that must be accessed
- * quickly through assembler. They are designed to be accessed directly with
- * absolute addresses, not via a base register. This is a global area, and not
- * per processor.
- */
-
#pragma pack(8) /* Make sure the structure stays as we defined it */
typedef struct lowglo {
unsigned char lgVerCode[8]; /* 0xffffff8000002000 System verification code */
- uint64_t lgZero[2]; /* 0xffffff8000002008 Double constant 0 */
- uint64_t lgRsv010; /* 0xffffff8000002018 Reserved */
- uint64_t lgCHUDXNUfnStart; /* 0xffffff8000002020 CHUD XNU function glue table */
- uint64_t lgRsv018; /* 0xffffff8000002028 Reserved */
- uint64_t lgVersion; /* 0xffffff8000002030 Pointer to kernel version string */
- uint64_t lgRsv020[280]; /* 0xffffff8000002038 Reserved */
- uint64_t lgKmodptr; /* 0xffffff80000028f8 Pointer to kmod, debugging aid */
- uint64_t lgTransOff; /* 0xffffff8000002900 Pointer to kdp_trans_off, debugging aid */
- uint64_t lgReadIO; /* 0xffffff8000002908 Pointer to kdp_read_io, debugging aid */
- uint64_t lgDevSlot1; /* 0xffffff8000002910 For developer use */
- uint64_t lgDevSlot2; /* 0xffffff8000002918 For developer use */
- uint64_t lgOSVersion; /* 0xffffff8000002920 Pointer to OS version string */
- uint64_t lgRebootFlag; /* 0xffffff8000002928 Pointer to debugger reboot trigger */
- uint64_t lgRsv49C[218]; /* 0xffffff8000002930 Reserved - push to 1 page */
+ uint64_t lgZero; /* 0xffffff8000002008 Double constant 0 */
+ uint64_t lgStext; /* 0xffffff8000002010 Start of kernel text */
+ uint64_t lgRsv018; /* 0xffffff8000002018 Reserved */
+ uint64_t lgCHUDXNUfnStart; /* 0xffffff8000002020 CHUD XNU function glue table */
+ uint64_t lgRsv028; /* 0xffffff8000002028 Reserved */
+ uint64_t lgVersion; /* 0xffffff8000002030 Pointer to kernel version string */
+ uint64_t lgRsv038[280]; /* 0xffffff8000002038 Reserved */
+ uint64_t lgKmodptr; /* 0xffffff80000028f8 Pointer to kmod, debugging aid */
+ uint64_t lgTransOff; /* 0xffffff8000002900 Pointer to kdp_trans_off, debugging aid */
+ uint64_t lgReadIO; /* 0xffffff8000002908 Pointer to kdp_read_io, debugging aid */
+ uint64_t lgDevSlot1; /* 0xffffff8000002910 For developer use */
+ uint64_t lgDevSlot2; /* 0xffffff8000002918 For developer use */
+ uint64_t lgOSVersion; /* 0xffffff8000002920 Pointer to OS version string */
+ uint64_t lgRebootFlag; /* 0xffffff8000002928 Pointer to debugger reboot trigger */
+ uint64_t lgManualPktAddr; /* 0xffffff8000002930 Pointer to manual packet structure */
+
+ uint64_t lgRsv938[217]; /* 0xffffff8000002938 Reserved - push to 1 page */
} lowglo;
#pragma pack()
extern lowglo lowGlo;