Skip to contentSkip to conversation

x86_64 boot -v2: Add linked listof struct setup_data to boot protocol

PATCH In review Huang, Ying 5 participants 7 messages Mar 28, 2008

lore
Share & tools
lore
#0 lore raw

cover x86_64 boot -v2: Add linked listof struct setup_data to boot protocol

This patchset adds the linked list of struct setup_data to boot protocol. This is needed by EDD information and some SGI machine with E820 entry number > 128.

Now, only the x86_64 is supported. The i386 can be supported after early reservation mechanism for x86 is available.

This patchset is based x86.git latest branch and has been tested on Intel x86_64 machine.

v2:

- Rebased on x86.git latest branch

Best Regards,
Huang Ying

#1 lore raw
Quoted 3 lines · Ying

This patchset adds the linked list of struct setup_data to boot
protocol. This is needed by EDD information and some SGI machine with E820 entry number > 128.

interesting, that 512nodes/4096 box physics memory is not continuous?

YH

#2 lore raw
Quoted 6 lines · Yinghai Lu
Quoted 3 lines · Ying

This patchset adds the linked list of struct setup_data to boot
protocol. This is needed by EDD information and some SGI machine with E820 entry number > 128.

interesting, that 512nodes/4096 box physics memory is not continuous?

Likely not. That would require huge hardware overhead for all the comparators to handle variable ranges. Much easier to just use some higher bits in the address to index nodes.

-Andi

#3 lore raw
In reply to Yinghai Lu
Quoted 1 line · YH

interesting, that 512nodes/4096 box physics memory is not continuous?

If each node board is stuffed with the same amount of RAM, and that amount of RAM is a power of two size, then you are correct that it would be continuous.

But if the nodes are stuffed with unequal amounts of RAM, or if its not a power of two, then, because we are doing what Andi figures (breaking the addr into bit fields, for efficient implementation) then we can end up with many holes.

Signature · 3 lines
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <[email protected]> 1.940.382.4214
#4 lore raw
Quoted 5 lines · Paul Jackson
Quoted 1 line · YH

interesting, that 512nodes/4096 box physics memory is not continuous?

If each node board is stuffed with the same amount of RAM, and that amount of RAM is a power of two size, then you

There are likely per node memory holes too, right?

So even in that scenario it would be not continuous.

-Andi

#5 lore raw
Quoted 1 line · Andi

There are likely per node memory holes too, right?

Likely ... I don't have the details offhand.

Signature · 3 lines
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <[email protected]> 1.940.382.4214
#6 lore raw
In reply to Huang, Ying
Quoted 9 lines · Huang, Ying

This patchset adds the linked list of struct setup_data to boot protocol. This is needed by EDD information and some SGI machine with E820 entry number > 128.

Now, only the x86_64 is supported. The i386 can be supported after early reservation mechanism for x86 is available.

This patchset is based x86.git latest branch and has been tested on Intel x86_64 machine.

thanks, applied. Note: as i mentioned, this code needs to be unified, and we can only merge this upstream into 2.6.26 once 32-bit support has been added too. The last thing we need is 64-bit only boot protocol extensions.

Ingo