Author: ion Date: Tue Aug 13 03:11:02 2013 New Revision: 59716 URL: http://svn.reactos.org/svn/reactos?rev=59716&view=rev Log: [USETUP]: Add an entry in freeldr.ini for EMS testing. [HIVESYS]: Fix double-addition of "nmidebug". One of those should have been "sacdrv". [FREELDR]: Fix bugs in WinLdrSetupEms which caused an invalid HEADLESS_LOADER_BLOCK to be created. [FERELDR]: Move WinLdrSetupEms in LoadWindowsCommon, so that setupldr can use EMS too.
Modified: trunk/reactos/base/setup/usetup/bootsup.c trunk/reactos/boot/bootdata/hivesys.inf trunk/reactos/boot/freeldr/freeldr/windows/headless.c trunk/reactos/boot/freeldr/freeldr/windows/winldr.c Modified: trunk/reactos/base/setup/usetup/bootsup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/bootsup.c?rev=59716&r1=59715&r2=59716&view=diff ============================================================================== --- trunk/reactos/base/setup/usetup/bootsup.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/bootsup.c [iso-8859-1] Tue Aug 13 03:11:02 2013 @@ -501,8 +501,14 @@ /* ReactOS_Ram */ CreateFreeLoaderEntry(IniCache, IniSection, L"ReactOS_Ram", L"\"ReactOS (RAM Disk)\"", - L"ReactOS", L"ramdisk(0)\\ReactOS", + L"Windows2003", L"ramdisk(0)\\ReactOS", L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /RDIMAGEPATH=reactos.img /RDIMAGEOFFSET=32256"); + + /* ReactOS_EMS */ + CreateFreeLoaderEntry(IniCache, IniSection, + L"ReactOS_EMS", L"\"ReactOS (Emergency Management Services)\"", + L"Windows2003", ArcPath, + L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /redirect=com2 /redirectbaudrate=115200"); #endif /* Save the ini file */ Modified: trunk/reactos/boot/bootdata/hivesys.inf URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys.inf?rev=59716&r1=59715&r2=59716&view=diff ============================================================================== --- trunk/reactos/boot/bootdata/hivesys.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesys.inf [iso-8859-1] Tue Aug 13 03:11:02 2013 @@ -1345,11 +1345,11 @@ HKLM,"SYSTEM\CurrentControlSet\Services\DHCP\Parameters","ServiceDll",0x00020000,"%SystemRoot%\system32\dhcpcsvc.dll" ; EMS Serial Administration Console Driver -HKLM,"SYSTEM\CurrentControlSet\Services\NMIDebug","ErrorControl",0x00010001,0x00000000 -HKLM,"SYSTEM\CurrentControlSet\Services\NMIDebug","Group",0x00000000,"EMS" -HKLM,"SYSTEM\CurrentControlSet\Services\NMIDebug","ImagePath",0x00020000,"system32\drivers\sacdrv.sys" -HKLM,"SYSTEM\CurrentControlSet\Services\NMIDebug","Start",0x00010001,0x00000000 -HKLM,"SYSTEM\CurrentControlSet\Services\NMIDebug","Type",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Services\sacdrv","ErrorControl",0x00010001,0x00000000 +HKLM,"SYSTEM\CurrentControlSet\Services\sacdrv","Group",0x00000000,"EMS" +HKLM,"SYSTEM\CurrentControlSet\Services\sacdrv","ImagePath",0x00020000,"system32\drivers\sacdrv.sys" +HKLM,"SYSTEM\CurrentControlSet\Services\sacdrv","Start",0x00010001,0x00000000 +HKLM,"SYSTEM\CurrentControlSet\Services\sacdrv","Type",0x00010001,0x00000001 ; Event logging service HKLM,"SYSTEM\CurrentControlSet\Services\EventLog",,0x00000010 Modified: trunk/reactos/boot/freeldr/freeldr/windows/headless.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windows/headless.c?rev=59716&r1=59715&r2=59716&view=diff ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/windows/headless.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/windows/headless.c [iso-8859-1] Tue Aug 13 03:11:02 2013 @@ -246,7 +246,8 @@ /* Start fresh */ RtlZeroMemory(&LoaderRedirectionInformation, sizeof(HEADLESS_LOADER_BLOCK)); - + LoaderRedirectionInformation.PciDeviceId = PCI_INVALID_VENDORID; + /* Use a direction port if one was given, or use ACPI to detect one instead */ RedirectPort = strstr(BootOptions, "/redirect="); @@ -257,6 +258,7 @@ { RedirectPort += sizeof("com") - 1; LoaderRedirectionInformation.PortNumber = atoi(RedirectPort); + LoaderRedirectionInformation.TerminalType = 1; //HeadlessSerialPort } else { Modified: trunk/reactos/boot/freeldr/freeldr/windows/winldr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windows/winldr.c?rev=59716&r1=59715&r2=59716&view=diff ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/windows/winldr.c [iso-8859-1] Tue Aug 13 03:11:02 2013 @@ -673,11 +673,6 @@ /* Allocate and minimalistic-initialize LPB */ AllocateAndInitLPB(&LoaderBlock); -#ifdef _M_IX86 - /* Setup redirection support */ - WinLdrSetupEms(BootOptions); -#endif - /* Load Hive */ UiDrawBackdrop(); UiDrawProgressBarCenter(15, 100, "Loading system hive..."); @@ -711,6 +706,11 @@ LPCSTR SystemRoot; TRACE("LoadAndBootWindowsCommon()\n"); +#ifdef _M_IX86 + /* Setup redirection support */ + WinLdrSetupEms((PCHAR)BootOptions); +#endif + /* Convert BootPath to SystemRoot */ SystemRoot = strstr(BootPath, "\\");