- Add some checks in CmpDoOpen to protect against illegal opens.
- Handle symlinks instead of ignoring them (fixes CurrentControlSet problem).
- Set disposition if this is an open due to a create.
svn path=/trunk/; revision=31150
- Fix FldrSetconfigurationData: ARC Configuration Data is a CM_PARTIAL_RESOURCE_LIST, not a CM_FULL_RESOURCE_DESCRIPTOR!
- The Interface Types for PCI BIOS and PCI IRQ Routing Table are Internal, not PCIBus.
- Disk drives are Internal, not Unknown.
- Replace CmpDumpHardwareTree by CmpSetupConfigurationTree which now calls CmpInitializeRegistryNode (a function previously used to build the CPU ARC nodes previously in the kernel). We now write the ARC tree in the HARDWARE\Description\System key.
svn path=/trunk/; revision=31144
- Fix possible infinite looping in kdbg (happening e.g. when moving mouse in a reactos in qemu which entered the debugger).
svn path=/trunk/; revision=31135
- Apply relocation-style fixups to convert from FreeLDR to Kernel Addresses, since a contiguous buffer was used in FreeLDR, which means we only need to add a delta to each FreeLDR pointer to get the Kernel pointer.
- Don't assert if we receive an ARC tree, since we now do! Instead, pretty-print it to the debug log.
- Remove some registry debug spew.
svn path=/trunk/; revision=31133
- Zero-initialize memory from the Hardware Heap, just to be sure.
- Don't set the Version/Key/Affinity when creating the system node, let the caller do this.
- Fix the way components were added in the tree, it was busted.
- Enable setting of component information for the APM and ACPI component nodes. This was #if'ed out because it crashed the kernel while PnP was getting bus information for ATAPI/SCSIPORT, since the nodes had no component data. Add some component data to remove the crash, and then enable component information.
- The Real Mode IRQ Routing Table is a Peripheral Class, not a System Class.
- Enable the code to create component nodes for each PCI Bus, it was #if'ed out ages ago.
- Don't create any component data for the PCI BIOS, it doesn't have any.
- Create component data for the first PCI Bus component node based on the PCI_REGISTRY_INFO strucutre.
- Fix the way the BIOS Hard disk Peripheral nodes are created.
- Always create the DiskController node with floppy disk information, but don't do actual floppy detection if no floppies are there.
- Fix flags for Floppy Peripheral nodes.
- Fix vector for Floppy Peripheral node.
- Set component information for each BIOS hard disk peripheral node.
- Fix component information for Serial Peripherals, they were being created on the Serial Controller node instead.
- Set empty component information for the system node.
- TODO: Setup ACPI and APM Bios descriptor information.
- TODO: Setup ROM BIOS Block descriptor information.
svn path=/trunk/; revision=31131
- Copy all configuration data, identifiers and other data passed to the arc hardware routines into a new location. This is because the caller will free this information, and we want to keep it in memory. We also want it to be contiguous and part of our stash buffer, so allocate the copies from the stash buffer described above.
- Store the root of the hardware tree in the ArchExtra ReactOS Loader Parameter Block, the kernel's freeldr->ntldr conversion routines will later deal with this data.
svn path=/trunk/; revision=31116
- Implement the last bit of the new parse routine (creating children) and write a new version of NtCreateKey which uses the parse routine. Disable it for now until other latent bugs are fixed.
svn path=/trunk/; revision=31112