Aleksey Bragin
ba230c0883
- Merge 26992, 27646, 27679, 27966, 28258.
...
- WinLdr now is up-to-date with trunk (28288).
svn path=/branches/winldr/; revision=28289
2007-08-11 14:38:31 +00:00
Aleksey Bragin
d39eaeec7b
- Merge 26782, 26783, 26785, 26786
...
- Merge 26842, 26847, 26861, 26867
- Merge 26958
svn path=/branches/winldr/; revision=28287
2007-08-11 14:32:39 +00:00
Aleksey Bragin
b99f4db352
- Merge 26302 (Freeldr's own DEBUG -> ROS's global DBG)
...
svn path=/branches/winldr/; revision=28283
2007-08-11 09:55:12 +00:00
Aleksey Bragin
9a6f4d043e
Merge part of 26117 (typo fix), 26194
...
svn path=/branches/winldr/; revision=28282
2007-08-11 09:41:06 +00:00
Aleksey Bragin
83d5ae8eb4
- Merge 25417 by hpoussin (Disable some boot options on non-x86 platforms. You can enable them again for specific platforms if needed).
...
- Minor: Add debug_filesystem into DEBUG_CUSTOM, but commented out.
svn path=/branches/winldr/; revision=26874
2007-05-23 21:11:35 +00:00
Aleksey Bragin
41911adc3d
Move LOADER_HIGH_ZONE definition to a header file (thus removing hardcoded value from meminit.c).
...
NT4 boots with both 16Mb and 32Mb loading sizes. Win2003 doesn't fit into 16Mb, so ~32Mb should be used.
svn path=/branches/winldr/; revision=25531
2007-01-19 15:08:05 +00:00
Aleksey Bragin
e1cf9b2cdb
- Unlock lower 1Mb for use by memory manager, and properly mark all "unusable" places (except one place which is marked as strange).
...
- Get rid of in-memory hardware registry, hwdetect functions which has not been converted yet to use configuration lists are #if0ed or not used for now. Reduces memory requirements a little.
svn path=/branches/winldr/; revision=25191
2006-12-19 16:44:14 +00:00
Aleksey Bragin
9177998d8e
Commit my initial work on getting Windows NT booting.
...
Right now, if stars on the sky get in proper places and you are lucky, it will load Windows NT 4.0 to GUI (it will be unusable due to absence of mouse/keyboard though).
Here are log messages from my local tree which I used to develop this initial version (just for reference):
Revision: 8
Author: alekseyb
Date: 22:56:15, 24 íîÿáðÿ 2006 ã.
Message:
- Initialize "ValidBootPartition" field of ArcDiskInfo (without it Windows thinks the partition is not good)
- Zero ArcDiskInfo before usage
- Load filesystem driver (fastfat.sys for now)
Windows NT4 now boots, but of course there are no mouse/keyboard.
----
Modified : /freeldr/arch/i386/hardware.c
Modified : /freeldr/windows/winldr.c
Modified : /freeldr/windows/wlregistry.c
Revision: 7
Author: alekseyb
Date: 15:37:37, 24 íîÿáðÿ 2006 ã.
Message:
- Fix Disk Peripheral entries to really be of DiskPeripheral type and PeripheralClass
- Add to PcHwDetect() proper Child/Sibling-isation (depending on what has been found)
- Fixed PCI information recognizing (changed structure + properly filling HardwareMechanism field)
- Creating of actual configuration descriptor for PCI bus added
- Fix conversion of hardware configuration list to virtual addressing, also adding better debug prints
- Remove annoying DbgPrints from PE loader
- Remove memory map dumping
----
Modified : /freeldr/arch/i386/hardware.c
Modified : /freeldr/arch/i386/hwpci.c
Modified : /freeldr/include/arch/i386/hardware.h
Modified : /freeldr/windows/conversion.c
Modified : /freeldr/windows/peloader.c
Modified : /freeldr/windows/winldr.c
Revision: 6
Author: alekseyb
Date: 1:42:20, 23 íîÿáðÿ 2006 ã.
Message:
- Add ISA bus configuration entry, Disk Controller and Peripherals
- Comment about number of GDT entries
- Changed order of boot drivers - now they should correspond to what NT awaits
The compatibility with ReactOS booting is broken at this point, because hardware detection results are being placed into configuration list and not in-memory registry.
----
Modified : /freeldr/arch/i386/hardware.c
Modified : /freeldr/include/winldr.h
Modified : /freeldr/windows/wlregistry.c
Revision: 5
Author: alekseyb
Date: 23:37:40, 18 íîÿáðÿ 2006 ã.
Message:
- Modify number of GDT descriptors, since NT Kernel assumes space for 128 GDT descriptors, and if it is less - it overwrites IDT entries following them, which lead to a major fsckup, and how kernel booted to some stage is a mystery.
- Slightly modified comments, removed unnecessary TODO
WinDBG connects now and seems to work (don't forget to disable debug output of freeldr, otherwise WinDBG can't connect).
----
Modified : /freeldr/include/winldr.h
Modified : /freeldr/windows/winldr.c
Revision: 4
Author: alekseyb
Date: 18:25:49, 16 íîÿáðÿ 2006 ã.
Message:
- Fix RegistryPath in boot drivers (appended service name)
- Convert RegistryPath.Buffer and pointer to DTE to VirtualAddresses (fixes KMODE_EXCEPTION)
----
Modified : /freeldr/windows/winldr.c
Modified : /freeldr/windows/wlregistry.c
Revision: 3
Author: alekseyb
Date: 17:10:21, 15 íîÿáðÿ 2006 ã.
Message:
- Implemented storing configuration data of disks.
- Moved hardware detection to a later stage so that it doesn't write to an unitialized pointer and actually stores the data in LoaderBlock->ConfigurationRoot.
InitializeHWConfig() function should go away soon.
----
Modified : /freeldr/arch/i386/hardware.c
Modified : /freeldr/windows/conversion.c
Modified : /freeldr/windows/winldr.c
Revision: 2
Author: alekseyb
Date: 16:54:12, 13 íîÿáðÿ 2006 ã.
Message:
Import of what has been already done so far by me (WinNT 4.0 says INACCESSIBLE_BOOT_DEVICE). Just started working on Configuration List.
----
Modified : /freeldr/arch/i386/hardware.c
Modified : /freeldr/arch/i386/i386idt.S
Modified : /freeldr/arch/i386/i386trap.S
Modified : /freeldr/arch/i386/xboxhw.c
Modified : /freeldr/debug.c
Modified : /freeldr/freeldr_arch.rbuild
Modified : /freeldr/freeldr_base.rbuild
Modified : /freeldr/freeldr_base64k.rbuild
Modified : /freeldr/freeldr_main.rbuild
Modified : /freeldr/include/arch/i386/machpc.h
Modified : /freeldr/include/arch/i386/machxbox.h
Modified : /freeldr/include/machine.h
Modified : /freeldr/include/mm.h
Modified : /freeldr/include/winldr.h
Modified : /freeldr/linuxboot.c
Modified : /freeldr/machine.c
Modified : /freeldr/mm/meminit.c
Modified : /freeldr/mm/mm.c
Modified : /freeldr/reactos/binhive.c
Modified : /freeldr/reactos/reactos.c
Modified : /freeldr/reactos/setupldr.c
Modified : /freeldr/windows/peloader.c
Modified : /freeldr/windows/winldr.c
Modified : /freeldr/windows/wlmemory.c
Modified : /freeldr/windows/wlregistry.c
Revision: 1
Author: alekseyb
Date: 16:45:55, 13 íîÿáðÿ 2006 ã.
Message:
FreeLdr import from ReactOS trunk r24725
----
Added : /freeldr
Added : /freeldr/CHANGELOG
Added : /freeldr/arch
Added : /freeldr/arch/i386
Added : /freeldr/arch/i386/_alloca.S
Added : /freeldr/arch/i386/arch.S
Added : /freeldr/arch/i386/archmach.c
Added : /freeldr/arch/i386/boot.S
Added : /freeldr/arch/i386/drvmap.S
Added : /freeldr/arch/i386/fathelp.asm
Added : /freeldr/arch/i386/hardware.c
Added : /freeldr/arch/i386/hwacpi.c
Added : /freeldr/arch/i386/hwapm.c
Added : /freeldr/arch/i386/hwcpu.c
Added : /freeldr/arch/i386/hwpci.c
Added : /freeldr/arch/i386/i386cpu.S
Added : /freeldr/arch/i386/i386disk.c
Added : /freeldr/arch/i386/i386idt.S
Added : /freeldr/arch/i386/i386pnp.S
Added : /freeldr/arch/i386/i386rtl.c
Added : /freeldr/arch/i386/i386trap.S
Added : /freeldr/arch/i386/i386vid.c
Added : /freeldr/arch/i386/int386.S
Added : /freeldr/arch/i386/linux.S
Added : /freeldr/arch/i386/loader.c
Added : /freeldr/arch/i386/machpc.c
Added : /freeldr/arch/i386/machxbox.c
Added : /freeldr/arch/i386/mb.S
Added : /freeldr/arch/i386/pccons.c
Added : /freeldr/arch/i386/pcdisk.c
Added : /freeldr/arch/i386/pcmem.c
Added : /freeldr/arch/i386/pcrtc.c
Added : /freeldr/arch/i386/pcvideo.c
Added : /freeldr/arch/i386/portio.c
Added : /freeldr/arch/i386/xboxcons.c
Added : /freeldr/arch/i386/xboxdisk.c
Added : /freeldr/arch/i386/xboxfont.c
Added : /freeldr/arch/i386/xboxhw.c
Added : /freeldr/arch/i386/xboxi2c.c
Added : /freeldr/arch/i386/xboxmem.c
Added : /freeldr/arch/i386/xboxrtc.c
Added : /freeldr/arch/i386/xboxvideo.c
Added : /freeldr/arch/powerpc
Added : /freeldr/arch/powerpc/boot.s
Added : /freeldr/arch/powerpc/mach.c
Added : /freeldr/arch/powerpc/mboot.c
Added : /freeldr/bootmgr.c
Added : /freeldr/cache
Added : /freeldr/cache/blocklist.c
Added : /freeldr/cache/cache.c
Added : /freeldr/cmdline.c
Added : /freeldr/comm
Added : /freeldr/comm/rs232.c
Added : /freeldr/custom.c
Added : /freeldr/debug.c
Added : /freeldr/disk
Added : /freeldr/disk/disk.c
Added : /freeldr/disk/partition.c
Added : /freeldr/drivemap.c
Added : /freeldr/freeldr.c
Added : /freeldr/freeldr.rbuild
Added : /freeldr/freeldr_arch.rbuild
Added : /freeldr/freeldr_base.rbuild
Added : /freeldr/freeldr_base64k.rbuild
Added : /freeldr/freeldr_main.rbuild
Added : /freeldr/freeldr_startup.rbuild
Added : /freeldr/fs
Added : /freeldr/fs/ext2.c
Added : /freeldr/fs/fat.c
Added : /freeldr/fs/fs.c
Added : /freeldr/fs/fsrec.c
Added : /freeldr/fs/iso.c
Added : /freeldr/fs/ntfs.c
Added : /freeldr/include
Added : /freeldr/include/arch
Added : /freeldr/include/arch/i386
Added : /freeldr/include/arch/i386/hardware.h
Added : /freeldr/include/arch/i386/i386.h
Added : /freeldr/include/arch/i386/machpc.h
Added : /freeldr/include/arch/i386/machxbox.h
Added : /freeldr/include/arch.h
Added : /freeldr/include/bootmgr.h
Added : /freeldr/include/cache.h
Added : /freeldr/include/cmdline.h
Added : /freeldr/include/comm.h
Added : /freeldr/include/debug.h
Added : /freeldr/include/disk.h
Added : /freeldr/include/drivemap.h
Added : /freeldr/include/freeldr.h
Added : /freeldr/include/fs
Added : /freeldr/include/fs/ext2.h
Added : /freeldr/include/fs/fat.h
Added : /freeldr/include/fs/iso.h
Added : /freeldr/include/fs/ntfs.h
Added : /freeldr/include/fs.h
Added : /freeldr/include/fsrec.h
Added : /freeldr/include/inffile.h
Added : /freeldr/include/inifile.h
Added : /freeldr/include/keycodes.h
Added : /freeldr/include/linux.h
Added : /freeldr/include/machine.h
Added : /freeldr/include/miscboot.h
Added : /freeldr/include/mm.h
Added : /freeldr/include/multiboot.h
Added : /freeldr/include/of.h
Added : /freeldr/include/options.h
Added : /freeldr/include/oslist.h
Added : /freeldr/include/portio.h
Added : /freeldr/include/reactos.h
Added : /freeldr/include/registry.h
Added : /freeldr/include/rtl.h
Added : /freeldr/include/ui
Added : /freeldr/include/ui/gui.h
Added : /freeldr/include/ui/tui.h
Added : /freeldr/include/ui.h
Added : /freeldr/include/ver.h
Added : /freeldr/include/video.h
Added : /freeldr/include/winldr.h
Added : /freeldr/inffile
Added : /freeldr/inffile/inffile.c
Added : /freeldr/inifile
Added : /freeldr/inifile/ini_init.c
Added : /freeldr/inifile/inifile.c
Added : /freeldr/inifile/parse.c
Added : /freeldr/linuxboot.c
Added : /freeldr/machine.c
Added : /freeldr/math
Added : /freeldr/math/i386.h
Added : /freeldr/math/libgcc2.c
Added : /freeldr/math/libgcc2.h
Added : /freeldr/math/longlong.h
Added : /freeldr/math/powerpc.h
Added : /freeldr/miscboot.c
Added : /freeldr/mm
Added : /freeldr/mm/meminit.c
Added : /freeldr/mm/mm.c
Added : /freeldr/options.c
Added : /freeldr/oslist.c
Added : /freeldr/reactos
Added : /freeldr/reactos/arcname.c
Added : /freeldr/reactos/binhive.c
Added : /freeldr/reactos/reactos.c
Added : /freeldr/reactos/registry.c
Added : /freeldr/reactos/setupldr.c
Added : /freeldr/rtl
Added : /freeldr/rtl/libsupp.c
Added : /freeldr/rtl/list.c
Added : /freeldr/setupldr.rbuild
Added : /freeldr/setupldr_main.rbuild
Added : /freeldr/ui
Added : /freeldr/ui/gui.c
Added : /freeldr/ui/tui.c
Added : /freeldr/ui/tuimenu.c
Added : /freeldr/ui/ui.c
Added : /freeldr/version.c
Added : /freeldr/video
Added : /freeldr/video/bank.c
Added : /freeldr/video/fade.c
Added : /freeldr/video/palette.c
Added : /freeldr/video/pixel.c
Added : /freeldr/video/video.c
Added : /freeldr/windows
Added : /freeldr/windows/conversion.c
Added : /freeldr/windows/peloader.c
Added : /freeldr/windows/winldr.c
Added : /freeldr/windows/wlmemory.c
Added : /freeldr/windows/wlregistry.c
svn path=/branches/winldr/; revision=25067
2006-12-04 22:08:02 +00:00
Aleksey Bragin
2db25525a7
Create a place for work on creating a bootloader capable of booting Windows NT (from 4.0 up to 5.2).
...
Base is FreeLdr from trunk r25063.
svn path=/branches/winldr/; revision=25066
2006-12-04 21:36:54 +00:00