Skip to content
This repository was archived by the owner on Jan 28, 2023. It is now read-only.

IA32_APIC_BASE misemulated #7

Closed
teisenbe opened this issue Nov 17, 2017 · 4 comments
Closed

IA32_APIC_BASE misemulated #7

teisenbe opened this issue Nov 17, 2017 · 4 comments
Assignees
Labels

Comments

@teisenbe
Copy link

Currently you folks seem to emulate it with

        case IA32_APIC_BASE: {
            *val = default_mem_addr;
            break;
        }

This does not deal with the bitflags in the low 12 bits of the register. In particular, there's the BSP flag (bit 8), which should read 1 on the bootstrap CPU

@raphaelning
Copy link
Contributor

You're right. The IA32_APIC_BASE MSR is described in detail in the IA SDM Vol. 3A section 10.4.4 Local APIC Status and Location. There are multiple issues with HAXM's virtualization of this MSR, but we can fix the initial BSP flag first.

Please feel free to contribute a patch if you want to see this fixed soon :) We are a small team and don't have the bandwidth to get every issue closed as quickly as people would like to see...

@XevenQC
Copy link

XevenQC commented Jan 17, 2018

There is no Guest OS that we tested will read/write this MSR. And this issue is gone when APIC virtualization is implemented in HAXM. So please close this issue right now and reopened if you can get some actual issues when runing Guest with HAXM.

@raggi
Copy link

raggi commented Jan 17, 2018

@XevenQC zircon reads this msr

@SevenQC
Copy link
Contributor

SevenQC commented Jan 17, 2018

@raggi Could you please provide the test steps how to reprocude it?

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

No branches or pull requests

5 participants