
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!
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.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
thank you! but my machine never map my sideport video memory above 4G even if i choose "ABOVE 4G" in bios.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.
There's 2 more in this old forum topic.lemonyii wrote:so i think i'll really need some more sample.
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)
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.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.
my machine is not that old i thinkBrynet-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.
The older one (from the other forum post) is 8 GiB. The newer one (above) is 12 GiB.lemonyii wrote:and Brendan, how many memory do u have on these machines respectively?
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).lemonyii wrote:seems i could only assume 512K usable memory now.
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):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.
Code: Select all
memory: guest=8192, host=64
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
but... that's what i got: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
so which version of bochs are u using? P.S. i just tried 4096 is ok but no more.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.