- Implement MiInitializePfnAndMakePteValid() which is basically MiInitializePfn() combined with making PTE valid and some other changes.
- Don't initialize PTE and pass valid PTE for initialization to MiInitializePfn() when allocating a page in special pool, this is wrong. Instead call a function designed to do this - MiInitializePfnAndMakePteValid(). It performs correct checks and PFN reference counting.
svn path=/trunk/; revision=53909
Remove DTEs for ntbootdd.sys and freeldr.sys after they are not used any longer. freeldr one will even point to invalid stack data. It only works currently, because the LoadOrderListHead is reset later. More fixes are coming.
svn path=/trunk/; revision=53908
- properly cleanup when tests are completed
- Add some more tests for SetActiveWindow that prove that bringing owner/owned windows to front is done by SetActiveWindow and not by SetWindowPos
svn path=/trunk/; revision=53905
- Implement SHPropStgCreate, SHPropStgReadMultiple, SHPropStgWriteMultiple based on wine
- This should fix the shellole tests
svn path=/trunk/; revision=53903
- implement helper functions MiIsMemoryTypeFree and MiIsMemoryTypeInvisible
- use symbolic names instead of hex values
- Don't ASSERT on mising large page support, just warn
- add some more mm macros for amd64
svn path=/trunk/; revision=53902
- Report the device's lockable status in the device capabilities request
- Only report the device as disabled if it is both not enabled and not functional
svn path=/trunk/; revision=53899
- Move some disk related stuff that is unrelated to the registry data into a new file, hwdisk.c
- Don't get the disk count from the size value of a structure that was previously calculated from the disk count, but instead save it in a global variable.
- Initialize certain data in a better place
svn path=/trunk/; revision=53896
- Update ACPICA from 20091214 to 20110922
- Rewrite a large portion of the OSL code
- Perform a full initialization of ACPI objects (don't skip devices and events)
- Please retest ACPI bugs after this commit
svn path=/trunk/; revision=53895
- Add a hack to skip calling methods of the HPET object because it causes a hardlock on VMWare
- Attempt #2 at fixing VMware
svn path=/trunk/; revision=53892
- Do not force the hard error dialog to appear. As a result, calling SetErrorMode now really prevents the hard error dialog from appearing.
svn path=/trunk/; revision=53889
- Minor fixes to ScmAssignNewTag
- Correctly handle an invalid parameter case in RCreateServiceW. Fixes second stage boot under certain circumstances.
svn path=/trunk/; revision=53886
- Remove pointless NTKRNLAPI
- remove unneeded include
- delete deprecated file amd64/loader.c
- add an #ifef __REACTOS__ around public header includes to make it possible to use an alternative header set from ntsup.h
svn path=/trunk/; revision=53885
- The width parameter in AcpiOsReadPciConfiguration and AcpiOsWritePciConfiguration was in bits but we were treating it as a width in bytes
- This caused overreads, memory corruption, and crashes when these functions were called (VMWare was particularly picky about bad accesses to the PCI configuration space)
- A hack was (unknowingly) added which prevented some crashes but had a side-effect of causing the partial disruption of ACPI's PCI configuration space accesses while the others that went through wrote bad data to the PCI config space or corrupted kernel memory
svn path=/trunk/; revision=53880
- Modify some memory types to match what windows uses
- Modify PcMemGetBiosMemoryMap, so that is crops free memory to page alignment, while extending non-free memory to page alignment. This way we don't loose small firmware descriptors like the one for the extended bios data area enumerated by the bios. Fixes a warning from win 2003 about not owned memory.
- Modify MempAddMemoryBlock to map LoaderFirmwarePermanent into kernel space like ntldr, but don't map page 0! ntldr doesn't do that either. Also map LoaderXIPRom.
- After generating memory descriptors from the page lookup table, add any descriptor from the bios memory table, that is higher than MmHigestPhysical address, so we don't loose high rom descriptors. Do not map beyond LoaderPagesSpanned.
svn path=/trunk/; revision=53878
- copy ebp into REGS structure on Int386
- Write pointer and size of extended bios data area in physical page 0 location 0x740 and pointers to vga rom fonts in location 0x700. This is required by windows 2003's videoprt. Now freeldr is more Windows 2003 ready then ever!
svn path=/trunk/; revision=53876
- Fix auto complete init method based on Wine. Autocomplete shell tests should no longer crash now.
- Brought to you by Claudiu Mihail.
svn path=/trunk/; revision=53871
* Implement CDefView::SetCurrentViewMode based on Wine, along with some other bugfixes. Shell32 shlview winetest doesn't crash anymore as a result.
* Brought to you by Claudiu Mihail.
svn path=/trunk/; revision=53869
- Introduce two MM_EMPTY_LIST definitions - one for PTE as a whole and one for MMPTE_LIST NextEntry field only and move them to the actual architecture specific headers.
- Implement special pool. This is a special (Capt. Obvious!) kernel pool which is used to catch overruns or underruns, freed memory access and perform additional validation for paged/nonpaged allocations access.
svn path=/trunk/; revision=53868
- Do not subclass user32 controls when themes are disabled.This is a temporary hack bacause it turns out that subclassing causes problems. When it is fixed this will be reverted. This change means that in order to make themes work properly, the user has to reboot after enabling.
svn path=/trunk/; revision=53866
- Fix memory type for hal and referenced dlls
- Don't allocate the LPB, MADs and all the other stuff from the heap, instead allocate one block of memory for the LPB, extension, etc and strings (fits into one page) and another page for the MADs limit to 200 MADs, 1024 is way over the top)
- Map only those pages into kernel mode, that the kernel will need, this way we don't need to unmap anything later.
svn path=/trunk/; revision=53864
- Fix a typo in HalpAllocPhysicalMemory, that caused the function to remove MADs that still had pages rather than removing those who are empty. Fixes an assertion on VMWare.
Kudos go to Kamil for tracking it down.
- Fix another bug in HalpAllocPhysicalMemory, where the size of the newly allocated MAD was set to the alignment value instead of the original MAD, this lead to conflicting MADs and possible reuse of hal memory by the kernel. This seems to fix a bugcheck 0x19 with halacpi.
svn path=/trunk/; revision=53861