Changeset 64734 in vbox
- Timestamp:
- Nov 22, 2016 9:13:39 AM (8 years ago)
- Location:
- trunk/src/VBox/ValidationKit/bootsectors/bs3kit
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/Makefile.kmk
r64694 r64734 89 89 bs3-cmn-PagingAlias.c \ 90 90 bs3-cmn-PagingProtect.c \ 91 bs3-cmn-PagingQueryAddressInfo.c \ 91 92 bs3-cmn-PagingSetupCanonicalTraps.c \ 92 93 bs3-cmn-pic-data.c \ -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-autostubs.kmk
r64710 r64734 41 41 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingInitRootForPAE) 42 42 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingInitRootForPP) 43 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingProtect) 43 44 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingProtectPtr) 44 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Paging Protect)45 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingQueryAddressInfo) 45 46 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingUnalias) 46 47 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SwitchFromV86To16BitAndCallC) … … 65 66 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3MemMove) 66 67 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3MemPCpy) 67 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingGetPde)68 68 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingGetPte) 69 69 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3PagingSetupCanonicalTraps) 70 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabAlloc) 70 71 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabAllocEx) 71 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Slab Alloc)72 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabListAlloc) 72 73 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabListAllocEx) 73 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3SlabListAlloc)74 74 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3MemFree) 75 75 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3MemGuardedTestPageFree) … … 105 105 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestSubV) 106 106 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TestTerm) 107 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap16Init) 107 108 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap16InitEx) 108 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap16Init)109 109 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap16SetGate) 110 110 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3Trap32Init) … … 115 115 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapPrintFrame) 116 116 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapReInit) 117 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapRmV86Init) 117 118 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapRmV86InitEx) 118 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapRmV86Init)119 119 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapRmV86SetGate) 120 120 $(call BS3KIT_FN_GEN_CMN_NEARSTUB,bs3kit-common-16,Bs3TrapSetHandlerEx) -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-define.h
r64710 r64734 51 51 #define bs3PagingGetLegacyPte BS3_CMN_MANGLER(bs3PagingGetLegacyPte) 52 52 #define bs3PagingGetPaePte BS3_CMN_MANGLER(bs3PagingGetPaePte) 53 #define Bs3PagingGetPde BS3_CMN_MANGLER(Bs3PagingGetPde)54 53 #define Bs3PagingGetPte BS3_CMN_MANGLER(Bs3PagingGetPte) 55 54 #define Bs3PagingInitRootForLM BS3_CMN_MANGLER(Bs3PagingInitRootForLM) … … 58 57 #define Bs3PagingProtect BS3_CMN_MANGLER(Bs3PagingProtect) 59 58 #define Bs3PagingProtectPtr BS3_CMN_MANGLER(Bs3PagingProtectPtr) 59 #define Bs3PagingQueryAddressInfo BS3_CMN_MANGLER(Bs3PagingQueryAddressInfo) 60 60 #define Bs3PagingSetupCanonicalTraps BS3_CMN_MANGLER(Bs3PagingSetupCanonicalTraps) 61 61 #define Bs3PagingUnalias BS3_CMN_MANGLER(Bs3PagingUnalias) … … 146 146 #define Bs3TrapSetHandler BS3_CMN_MANGLER(Bs3TrapSetHandler) 147 147 #define Bs3TrapSetHandlerEx BS3_CMN_MANGLER(Bs3TrapSetHandlerEx) 148 #define Bs3TrapSetJmp BS3_CMN_MANGLER(Bs3TrapSetJmp) 148 149 #define Bs3TrapSetJmpAndRestore BS3_CMN_MANGLER(Bs3TrapSetJmpAndRestore) 149 #define Bs3TrapSetJmp BS3_CMN_MANGLER(Bs3TrapSetJmp)150 150 #define Bs3TrapUnsetJmp BS3_CMN_MANGLER(Bs3TrapUnsetJmp) 151 151 #define Bs3UInt32Div BS3_CMN_MANGLER(Bs3UInt32Div) -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit-mangling-code-undef.h
r64710 r64734 51 51 #undef bs3PagingGetLegacyPte 52 52 #undef bs3PagingGetPaePte 53 #undef Bs3PagingGetPde54 53 #undef Bs3PagingGetPte 55 54 #undef Bs3PagingInitRootForLM … … 58 57 #undef Bs3PagingProtect 59 58 #undef Bs3PagingProtectPtr 59 #undef Bs3PagingQueryAddressInfo 60 60 #undef Bs3PagingSetupCanonicalTraps 61 61 #undef Bs3PagingUnalias … … 146 146 #undef Bs3TrapSetHandler 147 147 #undef Bs3TrapSetHandlerEx 148 #undef Bs3TrapSetJmp 148 149 #undef Bs3TrapSetJmpAndRestore 149 #undef Bs3TrapSetJmp150 150 #undef Bs3TrapUnsetJmp 151 151 #undef Bs3UInt32Div -
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3kit.h
r64703 r64734 2212 2212 2213 2213 /** 2214 * Get the pointer to the PDE for the given address. 2215 * 2216 * @returns Pointer to the PDE. 2217 * @param uFlat The flat address of the page which PDE we want. 2218 */ 2219 BS3_CMN_PROTO_STUB(void BS3_FAR *, Bs3PagingGetPde,(uint64_t uFlat)); 2214 * Paging information for an address. 2215 */ 2216 typedef struct BS3PAGINGINFO4ADDR 2217 { 2218 /** The depth of the system's paging mode. 2219 * This is always 2 for legacy, 3 for PAE and 4 for long mode. */ 2220 uint8_t cEntries; 2221 /** The size of the page structures (the entires). */ 2222 uint8_t cbEntry; 2223 /** Flags defined for future fun, currently zero. */ 2224 uint16_t fFlags; 2225 /** Union display different view on the entry pointers. */ 2226 union 2227 { 2228 /** Pointer to the page structure entries, starting with the PTE as 0. 2229 * If large pages are involved, the first entry will be NULL (first two if 1GB 2230 * page). Same if the address is invalid on a higher level. */ 2231 uint8_t BS3_FAR *apbEntries[4]; 2232 /** Alternative view for legacy mode. */ 2233 struct 2234 { 2235 X86PTE BS3_FAR *pPte; 2236 X86PDE BS3_FAR *pPde; 2237 void *pvUnused2; 2238 void *pvUnused3; 2239 } Legacy; 2240 /** Alternative view for PAE and Long mode. */ 2241 struct 2242 { 2243 X86PTEPAE BS3_FAR *pPte; 2244 X86PDEPAE BS3_FAR *pPde; 2245 X86PDPE BS3_FAR *pPdpe; 2246 X86PML4E BS3_FAR *pPml4e; 2247 } Pae; 2248 } u; 2249 } BS3PAGINGINFO4ADDR; 2250 /** Pointer to paging information for and address. */ 2251 typedef BS3PAGINGINFO4ADDR BS3_FAR *PBS3PAGINGINFO4ADDR; 2252 2253 /** 2254 * Queries paging information about the given virtual address. 2255 * 2256 * @returns VBox status code. 2257 * @param uFlat The flat address to query information about. 2258 * @param pPgInfo Where to return the information. 2259 */ 2260 BS3_CMN_PROTO_STUB(int, Bs3PagingQueryAddressInfo,(uint64_t uFlat, PBS3PAGINGINFO4ADDR pPgInfo)); 2220 2261 2221 2262
Note:
See TracChangeset
for help on using the changeset viewer.