Details
Description
In the Intel libvm.c we do:
unsigned int vp_hn; /* the high nibble of the vp address value */
vp_hn = localVirtualProcessorAddress >> 28;
if (vp_hn < 3 || !inRVMAddressSpace(localVirtualProcessorAddress))
that asserts that the high nibble of objects must be above 0x30000000 making it impossible to fully use the heap. The high nibble tests should be removed.
I think the nibble based assertion is older than inRVMAddressSpace (ie, it predates the inRVMAddressSpace function being available).
I don't object to removing it.
For the truly paranoid, we could add an extra debugging test that the value in the TIB slot of *localVPA is equal to the TIB of the Processor class.