Commit Graph
100 Commits
Author SHA1 Message Date
Hervé Poussineau f9d9302445 [ntoskrnl] Better fix for correct display of loaded drivers
svn path=/trunk/; revision=46200
2010-03-14 19:21:38 +00:00
Hervé Poussineau c39812d1b6 [ntoskrnl] Never suppose that buffer in UNICODE_STRING is null terminated. Fixes display artifacts on list of loaded drivers
svn path=/trunk/; revision=46193
2010-03-13 23:19:05 +00:00
Hervé Poussineau 9a46a46011 [freeldr] Never suppose that buffer in UNICODE_STRING is null terminated. Fixes some random failures when loading drivers
svn path=/trunk/; revision=46190
2010-03-13 22:56:41 +00:00
Hervé Poussineau 422b433150 [csrss] Don't expect ReactOS to always boot from C:\ReactOS (that's not the case for LiveCD)
svn path=/trunk/; revision=46170
2010-03-13 15:59:12 +00:00
Hervé Poussineau 4c956b83a7 Link SCSI miniport drivers only to scsiport
svn path=/trunk/; revision=46044
2010-03-09 22:36:52 +00:00
Hervé Poussineau 61fef12a72 [freeldr] Load an additional SCSI driver if present (NTBOOTSYS.SYS on boot partition), to increase number of known storage devices.
Works only with very simple miniport drivers.

svn path=/trunk/; revision=46017
2010-03-08 22:04:38 +00:00
Hervé Poussineau e10fbe352c [headers] Fix type of PRTL_HEAP_PARAMETERS in ifssupp.h. Will be required soon
svn path=/trunk/; revision=46016
2010-03-08 21:42:18 +00:00
Hervé Poussineau 37d9cf31a4 Fix include directories
svn path=/trunk/; revision=46015
2010-03-08 21:40:29 +00:00
Hervé Poussineau 19b65ab3fe [freeldr] Add SCSIPORT category to debug messages
Add missing PELOADER entry + fix one debug message

svn path=/trunk/; revision=45994
2010-03-07 20:12:28 +00:00
Hervé Poussineau 97f9d48ec3 Revert part of r45817 to try to fix build
svn path=/trunk/; revision=45823
2010-03-04 06:32:13 +00:00
Hervé Poussineau 8cbf93f23d [freeldr] Don't write twice the delay method and how to read the RTC. Use those in the HAL
svn path=/trunk/; revision=45817
2010-03-03 23:13:06 +00:00
Hervé Poussineau e1e7f82deb [freeldr] Add some functions to read partition tables
Add some stubs, link to mini-HAL

svn path=/trunk/; revision=45815
2010-03-03 22:59:32 +00:00
Hervé Poussineau c1f8063dc7 [freeldr] Add KeBugCheckEx
svn path=/trunk/; revision=45814
2010-03-03 22:54:51 +00:00
Hervé Poussineau 4f1c346e27 [freeldr] Allow opening of the raw device
svn path=/trunk/; revision=45812
2010-03-03 22:39:32 +00:00
Hervé Poussineau 3ddda873f8 [freeldr] Add some more memory management functions
svn path=/trunk/; revision=45811
2010-03-03 22:35:10 +00:00
Hervé Poussineau 02f31de4d1 [hal] Add a mini-HAL static library
Mostly the same thing as the real one, except interrupts and DMA

svn path=/trunk/; revision=45809
2010-03-03 21:56:52 +00:00
Hervé Poussineau 9d97bda0a9 [freeldr] Never unmap hyperspace or HAL entries. Fixes boot problems with more than 1GB of RAM
svn path=/trunk/; revision=44805
2009-12-29 20:43:01 +00:00
Hervé Poussineau 9dae13cb9a [freeldr] Rework operating system menu, by storing each selection in a structure instead of distinct arrays.
As a bonus, entries like LiveCD\reactos="ReactOS" /DEBUGPORT=COM1 /SOS /MININT now work

svn path=/trunk/; revision=44498
2009-12-09 22:03:39 +00:00
Hervé Poussineau 7cf2619a06 [freeldr] Fix typos introduced in r43875
svn path=/trunk/; revision=43896
2009-11-01 12:19:37 +00:00
Hervé Poussineau 370e856450 [freeldr/WINLDR] Simplify freeldr.ini syntax for common cases
- If boot type is not specified, autodetect bootsector and Windows types
- Try to automatically detect version of loaded Windows
- Accept boot options after name of OS
- Separate loading and scanning of system hive
As a result, lines like "multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT4" /DEBUG /BREAK" work

svn path=/trunk/; revision=43875
2009-10-31 15:09:03 +00:00
Hervé Poussineau 36c3408fb1 [freeldr] Move custom.c, drivemap.c/h, miscboot.c/h to i386 directories
svn path=/trunk/; revision=43854
2009-10-30 21:48:21 +00:00
Hervé Poussineau 035a83011e Ok, reverting r43565. Someone will have to tell me why it works for me but not for buildbot
svn path=/trunk/; revision=43576
2009-10-18 20:06:09 +00:00
Hervé Poussineau 2d7ba2275a [freeldr] Limit disk read buffer size to 512 bytes
svn path=/trunk/; revision=43575
2009-10-18 19:53:12 +00:00
Hervé Poussineau 9c62b2152a [freeldr/i386] Read up to 128 sectors at once
svn path=/trunk/; revision=43565
2009-10-18 18:24:35 +00:00
Hervé Poussineau 1943fae14f Fix warning
svn path=/trunk/; revision=43531
2009-10-17 14:55:50 +00:00
Hervé Poussineau 494daf26e9 [freeldr] FAT driver: check for directory attribute before parsing the next part of filename
Implement OpenDirectory mode in FAT driver

svn path=/trunk/; revision=43529
2009-10-17 14:05:34 +00:00
Hervé Poussineau 7b529de220 [freeldr] List in menu all entries from [Operating Systems] section, even if they don't have an associated section
Try to infer the boot type if not specified
See issue #4455 for more details.

svn path=/trunk/; revision=43467
2009-10-14 21:04:44 +00:00
Hervé Poussineau 9b1f5baa24 [freeldr] Fix typo: REGISTER -> REGISTRY
svn path=/trunk/; revision=43378
2009-10-11 17:10:32 +00:00
Hervé Poussineau 02db465a10 [freeldr] Rework the ramdisk driver to let it be a full device, instead of a deprecated harddisk which was only available once real harddisks were disabled
Add support for /RDPATH switch in WINLDR boot style

svn path=/trunk/; revision=43377
2009-10-11 17:08:33 +00:00
Hervé Poussineau b809cead05 WINLDR: Finally, set Windows boot style as default
Many thanks to Fireball and Alex for your hard work on Windows boot style

svn path=/trunk/; revision=43273
2009-10-03 20:09:57 +00:00
Hervé Poussineau 9e7fc1c095 [usetup] Simplify creation of entries in freeldr.ini
svn path=/trunk/; revision=43272
2009-10-03 19:43:29 +00:00
Hervé Poussineau b150069433 [freeldr] Remove MachDiskGetPartitionEntry, and directly use the correct one
Remove PpcDiskNormalizeSystemPath(), it was the same as DiskNormalizeSystemPath()

svn path=/trunk/; revision=43271
2009-10-03 18:41:10 +00:00
Hervé Poussineau f501c2bcb5 [freeldr] Remove (Mach)DiskGetBootDevice, DiskGetBootVolume, DiskGetSystemVolume, FsRecognizeVolume
This commit breaks ext2 driver in freeldr, which needs to use ArcSeek/ArcRead/Arc* instead of DiskGetBootVolume/MachDiskReadLogicalSectors

svn path=/trunk/; revision=43268
2009-10-03 17:00:29 +00:00
Hervé Poussineau c599bd7dc0 Rework FAT filesystem to not be tied to boot filesystem
svn path=/trunk/; revision=43267
2009-10-03 16:47:54 +00:00
Hervé Poussineau 80611d5a1d [freeldr] Fix warning on recent GCC versions
svn path=/trunk/; revision=43264
2009-10-03 13:29:41 +00:00
Hervé Poussineau 9c3b85b7d0 [freeldr] Code code specific to ARC emulation to its own directory
svn path=/trunk/; revision=43263
2009-10-03 13:11:22 +00:00
Hervé Poussineau d9b6d51218 [freeldr] It's easy to check if we booted from a floppy thanks to boot path. No need to maintain a machine callback for that
svn path=/trunk/; revision=43262
2009-10-03 12:49:14 +00:00
Hervé Poussineau 7f2d93fde9 WINLDR: Move i386 specific code to its own file
svn path=/trunk/; revision=43261
2009-10-03 12:36:52 +00:00
Hervé Poussineau a471bf9bb0 Reapply r43141: Remove now unneeded ARC cdrom hack in NTLDR boot-style. We're now able to boot from a LiveCD, even if ReactOS directory is not "reactos"
Keep the existing hack for FreeLdr boot-style, which should be removed one day

svn path=/trunk/; revision=43227
2009-09-29 20:01:20 +00:00
Hervé Poussineau e19fb94e99 bootvid.dll is in system32, not system32\drivers
svn path=/trunk/; revision=43198
2009-09-28 09:36:02 +00:00
Hervé Poussineau 04b1587c63 Fix debug message
svn path=/trunk/; revision=43197
2009-09-28 09:30:27 +00:00
Hervé Poussineau 897feb5b15 Revert r43141 to try to fix ReactOS boot style...
svn path=/trunk/; revision=43145
2009-09-25 15:10:28 +00:00
Hervé Poussineau 5519bfc73a Remove now unneeded ARC cdrom hack. We're now able to boot from a LiveCD, even if ReactOS directory is not "reactos"
svn path=/trunk/; revision=43141
2009-09-24 22:05:10 +00:00
Hervé Poussineau 757788da16 [freeldr] Put cdrom information in block list information
svn path=/trunk/; revision=43140
2009-09-24 21:29:31 +00:00
Hervé Poussineau 5a4647d276 Put bootvid.dll in system32 directory
svn path=/trunk/; revision=43127
2009-09-24 11:58:06 +00:00
Hervé Poussineau 2432b60a2e WINLDR: Don't hardcode filesystem driver name
Instead, use the one of the system partition

svn path=/trunk/; revision=43126
2009-09-24 08:15:13 +00:00
Hervé Poussineau d338a87238 Partly unregress Xbox 1 port. It now fails with INACCESSIBLE_BOOT_DEVICE bugcheck
svn path=/trunk/; revision=43124
2009-09-23 20:59:08 +00:00
Hervé Poussineau 3287d9f0c1 [freeldr] Partition numbers are 1 based
svn path=/trunk/; revision=43123
2009-09-23 19:07:49 +00:00
Hervé Poussineau 7f582de62c [freeldr] Never ever define a macro as multiple instructions. It may lead to subtle bugs
svn path=/trunk/; revision=43117
2009-09-22 20:33:56 +00:00
Hervé Poussineau 4648a3e59d [freeldr] Rework NTFS filesystem to not be tied to boot filesystem
svn path=/trunk/; revision=43115
2009-09-22 19:37:11 +00:00
Hervé Poussineau 9b86293dce [freeldr] Move definition of maximum number of available file descriptors to fs.h
Fix typos

svn path=/trunk/; revision=43114
2009-09-22 19:33:34 +00:00
Hervé Poussineau 16c6a54da7 [freeldr] Accept to read blocks whose size is not a multiple of device sector size
svn path=/trunk/; revision=43113
2009-09-22 19:32:35 +00:00
Hervé Poussineau d67020065f Revert r43007 to try to please buildbot
svn path=/trunk/; revision=43008
2009-09-06 21:33:27 +00:00
Hervé Poussineau bc1ef0f290 Rework FAT filesystem to not be tied to boot filesystem
svn path=/trunk/; revision=43007
2009-09-06 20:02:22 +00:00
Hervé Poussineau 0472f141b8 Implement GetFileInformation() on disks for i386 architecture
svn path=/trunk/; revision=43006
2009-09-06 20:00:23 +00:00
Hervé Poussineau e6aa81a105 Remove code dealing with FAT cache. It is never used
svn path=/trunk/; revision=43005
2009-09-06 16:43:03 +00:00
Hervé Poussineau 8803ca6791 For now, some filesystems still need to use DiskGetBootVolume()...
svn path=/trunk/; revision=43004
2009-09-06 16:07:08 +00:00
Hervé Poussineau 86500a05fc Remove support for machine specific versions of DiskGetBootVolume and DiskGetSystemVolume
svn path=/trunk/; revision=43003
2009-09-06 15:59:16 +00:00
Hervé Poussineau f0d54803ce Do not leak device descriptors in case of error
svn path=/trunk/; revision=43002
2009-09-06 14:21:00 +00:00
Hervé Poussineau 6ca346d8d4 Use memory wrappers instead of ExAllocatePool/ExFreePool directly
svn path=/trunk/; revision=42974
2009-08-30 19:20:30 +00:00
Hervé Poussineau b6f0ced7a5 [ntoskrnl] Check if caller has valid access before opening a registry key
Assign security descriptor to new keys we're creating

svn path=/trunk/; revision=42960
2009-08-29 10:35:30 +00:00
Hervé Poussineau 8a5ac3eb85 [freeldr] When creating a component, provide at the same time its configuration data
svn path=/trunk/; revision=42875
2009-08-23 08:34:20 +00:00
Hervé Poussineau 9feee2204c Limit usage of KEY_ALL_ACCESS when opening registry keys
svn path=/trunk/; revision=42874
2009-08-23 08:29:23 +00:00
Hervé Poussineau 413dcab765 [freeldr] When creating a component, provide at the same time its configuration data
svn path=/trunk/; revision=42873
2009-08-23 08:25:52 +00:00
Hervé Poussineau 1ad7b1fe0a Try to fix build after r42706
svn path=/trunk/; revision=42715
2009-08-15 20:47:58 +00:00
Hervé Poussineau 10692515b0 [rbuild] Remove distinction between Iso/IsoRegTest, and LiveIso/LiveIsoRegTest module types
Better dependency tracking for iso module type

svn path=/trunk/; revision=42575
2009-08-09 22:03:04 +00:00
Hervé Poussineau afceb3314e Fix compilation #2
svn path=/trunk/; revision=42546
2009-08-09 08:24:22 +00:00
Hervé Poussineau e9eadcc168 Fix compilation
svn path=/trunk/; revision=42545
2009-08-09 08:13:17 +00:00
Hervé Poussineau 661239c67e Merge FldrCreateComponentKey and FldrSetIdentifier
svn path=/trunk/; revision=42544
2009-08-09 08:11:52 +00:00
Hervé Poussineau d7ca524325 Merge FldrCreateComponentKey and FldrSetComponentInformation
Remove unneeded parameters in FldrCreateComponentKey

svn path=/trunk/; revision=42543
2009-08-09 07:45:41 +00:00
Hervé Poussineau 3e5c0bc6aa Remove dead code
svn path=/trunk/; revision=42540
2009-08-08 21:50:15 +00:00
Hervé Poussineau 945b08e99d Use Arc* infrastructure to read the .inf file
svn path=/trunk/; revision=42539
2009-08-08 21:23:23 +00:00
Hervé Poussineau c2b74e4921 Fix some typos and make PFILE a ULONG
svn path=/trunk/; revision=42538
2009-08-08 21:11:40 +00:00
Hervé Poussineau 28bf1f3b71 - Half-convert FAT, Ext2 and NTFS filesytems to provide new ARC file infrastructure. This allows removing some compatibility code in fs.c
- Remove use of FsOpenBootVolume() and FsOpenSystemVolume(). If callers don't want a file on boot volume, they need to use the new ArcOpen/ArcSeek/ArcRead/ArcClose functions instead of the old FsOpenFile/FsSetFilePointer/FsReadFile/FsCloseFile

svn path=/trunk/; revision=42537
2009-08-08 20:53:10 +00:00
Hervé Poussineau 1af46d7aa4 HACK FIX DiskGetBootPath() method to return something meaningful when booting from hard disk
svn path=/trunk/; revision=42533
2009-08-08 19:33:08 +00:00
Hervé Poussineau e307cb2881 Rework ISO9660 filesystem to use ARC file architecture.
ISO filesystem doesn't depend anymore of boot volume/system volume

svn path=/trunk/; revision=42528
2009-08-08 17:13:14 +00:00
Hervé Poussineau 20c8af6fef Read freeldr.ini file using ARC file infrastructure
svn path=/trunk/; revision=42527
2009-08-08 17:08:51 +00:00
Hervé Poussineau 9f71bce6b4 Improve ARC file infrastructure, by adding a compatibility layer from old to new system (new to old already exists)
i386: when reading sectors, use dedicated scratch area
Increase number of available open files to 60, because something seems to leak file descriptors

svn path=/trunk/; revision=42526
2009-08-08 17:04:53 +00:00
Hervé Poussineau 2a10e77d03 [lsasrv] Do not launch a thread to listen for incoming calls, but do it directly
Better LsarClose stub, which tries to do the right thing
Fix a few prototypes
See issue #4689 for more details.

svn path=/trunk/; revision=42495
2009-08-08 07:27:37 +00:00
Hervé Poussineau 47f744578f [rbuild] Copy files to livecd output directory only if they have changed
svn path=/trunk/; revision=42330
2009-08-02 08:06:17 +00:00
Hervé Poussineau 85161ab551 [rbuild] Fix wrapping of long lines in generated makefile
svn path=/trunk/; revision=42329
2009-08-02 08:06:04 +00:00
Hervé Poussineau 6a16259ee6 Fix bug introduced in r1514, where memory was freed once in DLL_THREAD_DETACH and once more in DLL_PROCESS_DETACH
svn path=/trunk/; revision=42089
2009-07-19 18:37:58 +00:00
Hervé Poussineau a86419a500 Add missing SetWindowsHookW prototype
svn path=/trunk/; revision=42086
2009-07-19 14:03:10 +00:00
Hervé Poussineau 65ed2a4587 It doesn't hurt to try to start Blue service before accessing it
svn path=/trunk/; revision=40990
2009-05-19 20:25:46 +00:00
Hervé Poussineau e0d37204c6 Skip partitions drive letter assignments if no hard disk is present
svn path=/trunk/; revision=40977
2009-05-19 13:01:04 +00:00
Hervé Poussineau e0c3b779fc Try to load the correct font when booting with /CONSOLE switch
svn path=/trunk/; revision=40965
2009-05-18 12:43:12 +00:00
Hervé Poussineau e9478231e2 We know that the function works, so no need to print a FIXME
svn path=/trunk/; revision=40915
2009-05-13 20:44:12 +00:00
Hervé Poussineau be3fc3f629 Fix build
svn path=/trunk/; revision=40907
2009-05-12 22:06:41 +00:00
Hervé Poussineau 4535cbb145 No need to create a DC to get the display depth
Incidentally, this partly unregresses the /CONSOLE switch if blue.sys is installed

svn path=/trunk/; revision=40906
2009-05-12 21:48:25 +00:00
Hervé Poussineau 97126c89e0 Revert part of r40686
See issue #4471 for more details.

svn path=/trunk/; revision=40836
2009-05-08 10:29:31 +00:00
Hervé Poussineau 54a86cf16f Remove MachGetMemoryMap() and replace it by ArcGetMemoryDescriptor(). Rework memory initialization to use it.
As a bonus, we're not limited anymore to 32 memory descriptors, and having more than 4GB of RAM doesn't lead to out of bounds accesses

svn path=/trunk/; revision=40710
2009-04-26 20:22:16 +00:00
Hervé Poussineau d30f655f34 WINLDR: Repair LiveCD boot
svn path=/trunk/; revision=40687
2009-04-24 21:48:20 +00:00
Hervé Poussineau ee3fc1bc60 Implement ArcGetTime() and ArcGetRelativeTime()
svn path=/trunk/; revision=40686
2009-04-24 20:35:11 +00:00
Hervé Poussineau 59b1bc70b2 Fix warning
svn path=/trunk/; revision=40637
2009-04-21 19:19:48 +00:00
Hervé Poussineau a6f21e5d07 Disable partition table exploration, as long as it displays an error message if disk is not partitioned
svn path=/trunk/; revision=40636
2009-04-21 19:05:07 +00:00
Hervé Poussineau 7a499db296 Implement agnostic architecture for file system access, according to Advanced RISC Computing Specification Version 1.2
Some shortcuts still exist, and will need to be addressed later
Use this new API in the NTLDR-style loader

svn path=/trunk/; revision=40613
2009-04-20 20:04:23 +00:00
Hervé Poussineau ae4881eaf5 Don't directly call NtPlugPlayControl from setupapi, and replace it by RPC
As a bonus, setupapi is now (theorically) able to restart devices on remote machines
See issue #4400 for more details.

svn path=/trunk/; revision=40594
2009-04-19 21:36:59 +00:00
Hervé Poussineau 82d4f0afe3 Add some defines, to be used later in freeldr
svn path=/trunk/; revision=40266
2009-03-28 10:33:19 +00:00
Hervé Poussineau 7ffb682eea Fix typo
svn path=/trunk/; revision=40265
2009-03-28 09:28:05 +00:00
Hervé Poussineau 0560eef6ec Revert r39517, as there is no reason for such a change: files are consistently formatted, don't belong to ntoskrnl, use tabs only for indenting and not for formatting, and formatting revisions complicate svn blame feature usage.
svn path=/trunk/; revision=39553
2009-02-11 17:21:10 +00:00