Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bhyve/gdb.c
Show First 20 Lines • Show All 245 Lines • ▼ Show 20 Lines | else if (regs[0] & CR0_PE) | ||||
paging->cpu_mode = CPU_MODE_PROTECTED; | paging->cpu_mode = CPU_MODE_PROTECTED; | ||||
else | else | ||||
paging->cpu_mode = CPU_MODE_REAL; | paging->cpu_mode = CPU_MODE_REAL; | ||||
if (!(regs[0] & CR0_PG)) | if (!(regs[0] & CR0_PG)) | ||||
paging->paging_mode = PAGING_MODE_FLAT; | paging->paging_mode = PAGING_MODE_FLAT; | ||||
else if (!(regs[2] & CR4_PAE)) | else if (!(regs[2] & CR4_PAE)) | ||||
paging->paging_mode = PAGING_MODE_32; | paging->paging_mode = PAGING_MODE_32; | ||||
else if (regs[3] & EFER_LME) | else if (regs[3] & EFER_LME) | ||||
paging->paging_mode = PAGING_MODE_64; | paging->paging_mode = (regs[2] & CR4_LA57) ? | ||||
PAGING_MODE_64_LA57 : PAGING_MODE_64; | |||||
else | else | ||||
paging->paging_mode = PAGING_MODE_PAE; | paging->paging_mode = PAGING_MODE_PAE; | ||||
return (0); | return (0); | ||||
} | } | ||||
/* | /* | ||||
* Map a guest virtual address to a physical address (for a given vcpu). | * Map a guest virtual address to a physical address (for a given vcpu). | ||||
* If a guest virtual address is valid, return 1. If the address is | * If a guest virtual address is valid, return 1. If the address is | ||||
▲ Show 20 Lines • Show All 1,599 Lines • Show Last 20 Lines |