On Thu, Jan 28, 2010 at 11:16:17AM +0800, Liu, Jinsong wrote:
Connor and Gleb,
Thanks for comments and suggestions!
According to the discussion, I will update my patch as:
- simplify method 'PRSC' definiation, move 'maxvcpus' to method 'NTFY' so that code is more direct and easy to understand;
- remove unnecessary global variable 'madt_csum_addr, madt_lapic0_addr, max_cpus_byte, max_cpus_bit';
- use VAR16FIXED() macro for a hardcode address, change hardcode address from '0xEA000' to '0x514' (same as old BOCHS);
VAR16FIXED() is for addresses in the f-segment - for addresses outside of the bios code, one can just assign a value to the address. I don't know if 0x514 is used for anything else, but I suppose it's okay if BOCHS got away with it.
-Kevin