Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No blocking of A20M during VMX operation #256

Open
lgj1107 opened this issue Feb 4, 2024 · 2 comments
Open

No blocking of A20M during VMX operation #256

lgj1107 opened this issue Feb 4, 2024 · 2 comments

Comments

@lgj1107
Copy link

lgj1107 commented Feb 4, 2024

According to the manual 24.8 RESTRICTIONS ON VMX OPERATION:

VMXON fails if a logical processor is in A20M mode (see “VMXON—Enter VMX Operation” in Chapter 31). Once
the processor is in VMX operation, A20M interrupts are blocked. Thus, it is impossible to be in A20M mode in
VMX operation.

Bochs internal debugger, type 'help' for help or 'c' to continue
Next at t=0
(0) [0x0000fffffff0] f000:fff0 (unk. ctxt): jmpf 0xf000:e05b ; ea5be000f0
bochs:1 c
(0) Magic breakpoint
Next at t=337329509
(0) [0x000000100002] 0000:0002 (unk. ctxt): xor al, al ; 30c0
bochs:2 page 0x100000
EPT PML4: 0x0000000070801007 X W R
EPT PDPE: 0x0000000070802007 X W R
EPT PDE: 0x0000000070824007 X W R
EPT PTE: 0x0000000000100037 X W R ignore_pat WB
linear page 0x0000000000100000 maps to physical page 0x000000100000
bochs:3 s
Next at t=337329510
(0) [0x000000100004] 0000:0004 (unk. ctxt): out 0x92, al ; e692
bochs:4 s
Next at t=337329511
(0) [0x000000000006] 0000:0006 (unk. ctxt): add al, dh ; 00f0 <------wrap
bochs:5 page 0x100000
EPT PML4: 0x0000000070801007 X W R
EPT PDPE: 0x0000000070802007 X W R
EPT PDE: 0x0000000070824007 X W R
EPT PTE: 0x0000000000100037 X W R ignore_pat WB
linear page 0x0000000000100000 maps to physical page 0x000000000000
bochs:6

test1.zip

@stlintel
Copy link
Contributor

stlintel commented Feb 4, 2024

Do you expect VMXON to fail instead ?

@lgj1107
Copy link
Author

lgj1107 commented Feb 4, 2024

My understanding is that after executing vmxon (entering VMX operation), A20M is blocked, so xor al,al out 0x92,al will not affect the A20 line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants