RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,016
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
- Mobile Phone
Okay, I tried
which returned 0xff53f0 (I assume I have to pad the beginning with two zeros to make it a 32bit number, 0x00ff53f0), but when translated to binary has ones in bits reserved zero. I also tried:Code:OperationRegion (GICR, SystemMemory, Subtract(3, And(ABAX,Not(0x3FF))), 4) // GICR is offset ABR+04h-07h; length 32 Field (GICR, ByteAcc, NoLock, Preserve) { GIC0, 32, // Returns entire field }
which returns 0xB0000727, which is a 32 bit number, but when translated to binary, again has 1s in bits that should be reserved 0. Am I doing something wrong?Code:OperationRegion (GICR, PCI_config, Subtract(3, And(ABAX,Not(0x3FF))), 4) // GICR is offset ABR+04h-07h; length 32 Field (GICR, ByteAcc, NoLock, Preserve) { GIC0, 32, // Returns entire field }
I don't get what you mean by masking off the other bits (the Not(0x3FF) operation). Could you go into more depth on why this is needed?
You should verify the accuracy of the documentation (and the interpretation of it) in RW-Everything in Windows...
If you read the docs on the base address, the lower 10 bits are not part of the address, but are other things. Hence the And(ABAX,Not(0x3FF)).