looking for some E820 result with more than 4G memory

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
lemonyii
Member
Member
Posts: 153
Joined: Thu Mar 25, 2010 11:28 pm
Location: China

looking for some E820 result with more than 4G memory

Post by lemonyii »

i don't have a computer with more than 4g, nor do my friends. ( i wish to take down theirs and install on mine temporarily, but... you know that's not good :mrgreen: )
so i'll really appreciate that if u post your memory map here.

base len type
0 9f800 1
9f800 800 2
dc000 8000 2
....

thank you!
Enjoy my life!------A fish with a tattooed retina
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: looking for some E820 result with more than 4G memory

Post by Brynet-Inc »

Even systems with 4GB of RAM will typically map some of it above 4GB physical, surely you can find one.

From the e802 map in my laptop, there are two such ranges, one being reserved (..likely the GPU).

Type 1 at 0x100000000 for 262144KB.
Type 2 at 0x110000000 for 262144KB.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: looking for some E820 result with more than 4G memory

Post by AJ »

Hi,

While not ideal as an exclusive test, why not simulate this on a variety of emulators? I'm sure at least Bochs and Qemu can simulate more than the amout of RAM present on the host by swapping out?

Cheers,
Adam
User avatar
lemonyii
Member
Member
Posts: 153
Joined: Thu Mar 25, 2010 11:28 pm
Location: China

Re: looking for some E820 result with more than 4G memory

Post by lemonyii »

AJ wrote:Hi,

While not ideal as an exclusive test, why not simulate this on a variety of emulators? I'm sure at least Bochs and Qemu can simulate more than the amout of RAM present on the host by swapping out?

Cheers,
Adam
i've got 2G ram, and the largest memory i can have in qemu and bochs are 1381M and 1822M, respectively, as i just tested it.
Brynet-Inc wrote:Even systems with 4GB of RAM will typically map some of it above 4GB physical, surely you can find one.

From the e802 map in my laptop, there are two such ranges, one being reserved (..likely the GPU).

Type 1 at 0x100000000 for 262144KB.
Type 2 at 0x110000000 for 262144KB.
thank you! but my machine never map my sideport video memory above 4G even if i choose "ABOVE 4G" in bios.
and i'm expecting more samples to get a better sense on this.
thank you!
Enjoy my life!------A fish with a tattooed retina
User avatar
lemonyii
Member
Member
Posts: 153
Joined: Thu Mar 25, 2010 11:28 pm
Location: China

Re: looking for some E820 result with more than 4G memory

Post by lemonyii »

again i tested my real machine.
it just do not show the sideport. and if i give some UMA to GPU in bios, it just cut out that size at the end of my memory ( disappear, not marked as other type ).
so i think i'll really need some more sample.
Enjoy my life!------A fish with a tattooed retina
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: looking for some E820 result with more than 4G memory

Post by Brendan »

Hi,
lemonyii wrote:so i think i'll really need some more sample.
There's 2 more in this old forum topic. :)

[EDIT]
Here's another one, cut & pasted from Linux boot logs on my current machine:

Code: Select all

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009c000 (usable)
[    0.000000]  BIOS-e820: 000000000009c000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000008c01e000 (usable)
[    0.000000]  BIOS-e820: 000000008c01e000 - 000000008c16e000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000008c16e000 - 000000008c228000 (ACPI data)
[    0.000000]  BIOS-e820: 000000008c228000 - 000000008d628000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000008d628000 - 000000008f602000 (ACPI data)
[    0.000000]  BIOS-e820: 000000008f602000 - 000000008f64f000 (reserved)
[    0.000000]  BIOS-e820: 000000008f64f000 - 000000008f71d000 (ACPI data)
[    0.000000]  BIOS-e820: 000000008f71d000 - 000000008f7cf000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000008f7cf000 - 000000008f800000 (ACPI data)
[    0.000000]  BIOS-e820: 000000008f800000 - 0000000090000000 (reserved)
[    0.000000]  BIOS-e820: 00000000a0000000 - 00000000b0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fc000000 - 00000000fd000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fed1c000 - 00000000fed20000 (reserved)
[    0.000000]  BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
[    0.000000]  BIOS-e820: 0000000100000000 - 0000000370000000 (usable)
[/EDIT]


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Re: looking for some E820 result with more than 4G memory

Post by Brynet-Inc »

lemonyii wrote:again i tested my real machine.
it just do not show the sideport. and if i give some UMA to GPU in bios, it just cut out that size at the end of my memory ( disappear, not marked as other type ).
so i think i'll really need some more sample.
It is entirely possible that the CPU/chipset combination might not support > 32-bit physical addresses, Intel has x86-64 processors with a 32-bit address bus.. and some early chipsets didn't support the larger address space even if the CPU supported it.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
lemonyii
Member
Member
Posts: 153
Joined: Thu Mar 25, 2010 11:28 pm
Location: China

Re: looking for some E820 result with more than 4G memory

Post by lemonyii »

much too terrible.
seems that my bootloader will break all of these machines since i assumed that 0-9f000 are available.
and Brendan, how many memory do u have on these machines respectively?
seems i could only assume 512K usable memory now.
Enjoy my life!------A fish with a tattooed retina
User avatar
lemonyii
Member
Member
Posts: 153
Joined: Thu Mar 25, 2010 11:28 pm
Location: China

Re: looking for some E820 result with more than 4G memory

Post by lemonyii »

Brynet-Inc wrote: It is entirely possible that the CPU/chipset combination might not support > 32-bit physical addresses, Intel has x86-64 processors with a 32-bit address bus.. and some early chipsets didn't support the larger address space even if the CPU supported it.
my machine is not that old i think :mrgreen: but the differences between platforms really threatened me, i don't know where i can assume to put my kernel safely.
Enjoy my life!------A fish with a tattooed retina
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: looking for some E820 result with more than 4G memory

Post by Brendan »

Hi,
lemonyii wrote:and Brendan, how many memory do u have on these machines respectively?
The older one (from the other forum post) is 8 GiB. The newer one (above) is 12 GiB.
lemonyii wrote:seems i could only assume 512K usable memory now.
512 KiB of RAM (from 0x00000000 to 0x0007FFFF, or slightly less than that due to BDA) should be plenty of RAM during boot (before you get the memory map, parse it and found out what other RAM you can use to load larger things into).


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
xenos
Member
Member
Posts: 1121
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: looking for some E820 result with more than 4G memory

Post by xenos »

lemonyii wrote:i've got 2G ram, and the largest memory i can have in qemu and bochs are 1381M and 1822M, respectively, as i just tested it.
You can configure Bochs to simulate > 4GB RAM, but using a fewer amount of actual RAM. This is how it looks in my bochsrc file (simulating 8GB, but using only 64MB):

Code: Select all

memory: guest=8192, host=64
And this is what my kernel reports:

Code: Select all

Memory map of length 0x000000a8 at address 0x0002bde8
Mem: 0x0000000000000000-0x000000000009efff, Type: 0x01
Mem: 0x000000000009f000-0x000000000009ffff, Type: 0x02
Mem: 0x00000000000e8000-0x00000000000fffff, Type: 0x02
Mem: 0x0000000000100000-0x00000000bffeffff, Type: 0x01
Mem: 0x00000000bfff0000-0x00000000bfffffff, Type: 0x03
Mem: 0x00000000fffc0000-0x00000000ffffffff, Type: 0x02
Mem: 0x0000000100000000-0x00000001ffffffff, Type: 0x01
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
User avatar
lemonyii
Member
Member
Posts: 153
Joined: Thu Mar 25, 2010 11:28 pm
Location: China

Re: looking for some E820 result with more than 4G memory

Post by lemonyii »

XenOS wrote: You can configure Bochs to simulate > 4GB RAM, but using a fewer amount of actual RAM. This is how it looks in my bochsrc file (simulating 8GB, but using only 64MB):

Code: Select all

memory: guest=8192, host=64
but... that's what i got:
D:\开发专用\system\sim>"C:\Program Files\bochs\bochs64mp.exe" -q -f cfg/bochsrc.
x8.bxrc
========================================================================
Bochs x86 Emulator 2.4.1.cvs
Build from CVS snapshot, after release 2.4.1
========================================================================
00000000000i[ ] reading configuration from cfg/bochsrc.x8.bxrc
00000000000p[CTRL ] >>PANIC<< numerical parameter 'size' was set to 4100, which
is out of range 1 to 4096
00000000000e[CTRL ] notify called, but no bxevent_callback function is registere
d
========================================================================
Bochs is exiting with the following message:
[CTRL ] numerical parameter 'size' was set to 4100, which is out of range 1 to 4
096
========================================================================
00000000000i[CTRL ] quit_sim called with exit code 1

Bochs is exiting. Press ENTER when you're ready to close this window.
so which version of bochs are u using? P.S. i just tried 4096 is ok but no more.
thank you all so much!
Enjoy my life!------A fish with a tattooed retina
User avatar
Owen
Member
Member
Posts: 1700
Joined: Fri Jun 13, 2008 3:21 pm
Location: Cambridge, United Kingdom
Contact:

Re: looking for some E820 result with more than 4G memory

Post by Owen »

Bochs needs specially configuring at compile time for >32-bit physical addressing
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: looking for some E820 result with more than 4G memory

Post by Combuster »

I see an old bochs as well :wink:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
xenos
Member
Member
Posts: 1121
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: looking for some E820 result with more than 4G memory

Post by xenos »

I'm using the latest SVN snapshot (after the 2.5 release).
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
Post Reply