ion@cvs.reactos.com wrote:
CVSROOT: /CVS/ReactOS Module name: reactos Repository: reactos/ntoskrnl/mm/ Changes by: ion@mok.osexperts.com 04/10/04 14:38:49
Modified files: ./: config rules.mak reactos/include/ntdll/: rtl.h reactos/ntoskrnl/: Makefile reactos/ntoskrnl/include/internal/i386/: mm.h reactos/ntoskrnl/ke/i386/: multiboot.S reactos/ntoskrnl/mm/: mminit.c
Log message: Un-hardcoded the 0xC0000000 value, and stuck the define in one single place both for ASM and C code. This define is 0x80000000 by default, but automatically sets itself to 0xC0000000 if 3GB is set to 1 in reactos/config. This option is turned on by default for now, because the Default heap is at 0xA0000000, which doesn't work on a non 3GB system. Lower values seem to crash Win32K but I fill figure out a solution.
I tried a NULL base address in the call to RtlCreateHeap (in lib/ntdll/ldr/startup.c) and regedit (WIN32 app) works very well. The NULL base address enables the default bottom-up memory allocation so the heap will be allocated from the bootom of the process address space just like Windows does. HEAP_BASE should have been removed ages ago.
Regards, Eric
Hi Eric,
Thanks for fixing that...I'm going to commit a freeldr change and then I'll try loading ROS at 0x80000000 and see if I run into any new issues.
Best regards, Alex Ionescu
Eric Kohl wrote:
ion@cvs.reactos.com wrote:
CVSROOT: /CVS/ReactOS Module name: reactos Repository: reactos/ntoskrnl/mm/ Changes by: ion@mok.osexperts.com 04/10/04 14:38:49
Modified files: ./: config rules.mak reactos/include/ntdll/: rtl.h reactos/ntoskrnl/: Makefile reactos/ntoskrnl/include/internal/i386/: mm.h reactos/ntoskrnl/ke/i386/: multiboot.S reactos/ntoskrnl/mm/: mminit.c
Log message: Un-hardcoded the 0xC0000000 value, and stuck the define in one single place both for ASM and C code. This define is 0x80000000 by default, but automatically sets itself to 0xC0000000 if 3GB is set to 1 in reactos/config. This option is turned on by default for now, because the Default heap is at 0xA0000000, which doesn't work on a non 3GB system. Lower values seem to crash Win32K but I fill figure out a solution.
I tried a NULL base address in the call to RtlCreateHeap (in lib/ntdll/ldr/startup.c) and regedit (WIN32 app) works very well. The NULL base address enables the default bottom-up memory allocation so the heap will be allocated from the bootom of the process address space just like Windows does. HEAP_BASE should have been removed ages ago.
Regards, Eric
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu Sent: Wednesday, October 06, 2004 3:00 AM To: ReactOS Development List Subject: Re: [ros-dev] Re: [ros-cvs] CVS Update: reactos
Hi Eric,
Thanks for fixing that...I'm going to commit a freeldr change and then I'll try loading ROS at 0x80000000 and see if I run into any new issues.
Hi,
the current cvs does boot at 0x80000000 and 0xc0000000. It is not necessary to change freeldr for this. Freeldr and ntoskrn must be change, if we support the command line option '/3GB'.
- Hartmut
Harmut,
There is a KERNEL_BASE variable in freeldr, which I think might come into play at some point, so that one simply requires a change to read from the config file.
tamlin is working on a PE Loader for freeldr to support /3GB, afaik.
Best regards, Alex Ionescu
Hartmut Birr wrote:
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu Sent: Wednesday, October 06, 2004 3:00 AM To: ReactOS Development List Subject: Re: [ros-dev] Re: [ros-cvs] CVS Update: reactos
Hi Eric,
Thanks for fixing that...I'm going to commit a freeldr change and then I'll try loading ROS at 0x80000000 and see if I run into any new issues.
Hi,
the current cvs does boot at 0x80000000 and 0xc0000000. It is not necessary to change freeldr for this. Freeldr and ntoskrn must be change, if we support the command line option '/3GB'.
- Hartmut
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev
-----Original Message----- From: ros-dev-bounces@reactos.com [mailto:ros-dev-bounces@reactos.com] On Behalf Of Alex Ionescu Sent: Wednesday, October 06, 2004 8:51 PM To: ReactOS Development List Subject: Re: [ros-dev] Re: [ros-cvs] CVS Update: reactos
Harmut,
There is a KERNEL_BASE variable in freeldr, which I think might come into play at some point, so that one simply requires a change to read from the config file.
tamlin is working on a PE Loader for freeldr to support /3GB, afaik.
Best regards, Alex Ionescu
This constant value isn't used. Freeldr uses the entry from the multiboot header, which is always set to 0x200000. The startup code from ntoskrnl does jump to 0xc0000000 or 0x80000000. I've tested ntoskrnl with 0x80000000 and in normal and PAE mode.
- Hartmut