Page 3 of 4
#31 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by cedar 08.11.2019 20:24

@Mattiwatt

Just curious if MPS mode can be created for XP64 or 2003 given your knowledge
about patching kernels. This could be fun challenges.

#32 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by XPLives 11.11.2019 12:23

avatar

@cedar

Zitat von cedar im Beitrag #31
@Mattiwatt

Just curious if MPS mode can be created for XP64 or 2003 given your knowledge
about patching kernels. This could be fun challenges.

I sent a similar message to him about this a week ago. Since there didn't exist a MPS mode for the 64-Bit version and the 32-Bit version couldn't be made to work you would need the source code to create one. My thoughts from the beginning is adapting the ACPI version to mimic the MPS mode and remove the ACPI functions from it. IF it can be done this would be the easiest without the source code.

Maybe there is a way to compare the XP 32-Bit ACPI vs MPS Hal and do a test mod.

#33 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by cedar 11.11.2019 15:21

@XPLives
Yup,your mentioning MPS mode got me thinking of 64 bit
having similar mode or even Standard Mode in 64 bit.
Removing things are usually easier and simpler. By what degree,
it is hard to say, only the one who have enough knowledge about
how kernels work can tell if it is feasible.

This is why I think it is possible. But if it is very time consuming,
probably not too many people will be interested in this project.

Even though, if it can be achieved. It is great for troubleshooting
comparison between ACPI mode to MPS and Standard Mode
for so many modern and future motherboard boards.

Mov AX, 0xDEAD has similar knowledge understanding of kernels,
I was curious how hard the task really is.

Edit: if XP64 has no MPS mode. Vista64 and up probably don't
have such mode either. This I have not verify.

#34 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by XPLives 13.11.2019 17:40

avatar

@cedar


Zitat von cedar im Beitrag #33
@XPLives
Yup,your mentioning MPS mode got me thinking of 64 bit
having similar mode or even Standard Mode in 64 bit.
Removing things are usually easier and simpler. By what degree,
it is hard to say, only the one who have enough knowledge about
how kernels work can tell if it is feasible.

This is why I think it is possible. But if it is very time consuming,
probably not too many people will be interested in this project.

Even though, if it can be achieved. It is great for troubleshooting
comparison between ACPI mode to MPS and Standard Mode
for so many modern and future motherboard boards.

Mov AX, 0xDEAD has similar knowledge understanding of kernels,
I was curious how hard the task really is.

Edit: if XP64 has no MPS mode. Vista64 and up probably don't
have such mode either. This I have not verify.


I was expecting the XP Pro 64-Bit to already have this so why it doesn't is a little baffling.

It would be easiest to compare existing XP 32-Bit ACPI.sys and non ACPI files.

I'll have to look into Vista 64-Bit to see if any of the earlier ones could have had it but from what I've read it looks like 2003 64-Bit Betas would be a better way to determine if it ever existed. My guess is Microsoft made them for in house use only so they could test all sorts of motherboards. But since they own the source code all they need is a Snowden to compile it and release it.

But I don't understand why isn't the ACPI source code files just released since they've already abandoned 2000 years ago and POS 2009 so what's the harm.

#35 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by cedar 14.11.2019 01:08

@XPLives
Indeed, 2003, or Vista beta is a good place to look for
if MPS and/or Standard Mode exist at all.
I can only imagine these 2 modes are just subsets
(or much simpler version ) of ACPI mode.

Maybe they can call MPS mode as ACPI version 0.

#36 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by XPLives 14.11.2019 15:58

avatar

@infuscomus

Zitat von infuscomus im Beitrag #25
@XPLives

try editing hivesys.inf and disabling driver signing key for the 2nd phase? that might allow the driver to be installed.

Maybe you can list the steps for this and I'll give it a shot.

But the setupapi.log shows those three files as the problem. When using my unmodified driver.cab I no longer get the BSOD 7B issue.

#-199 Executing "D:\XPPSP0\system32\setup.exe" with command line: setup -newsetup
#-290 Processing REGISTERDLLS section [CryptoDlls]. Binary: "%11%\rsaenh.dll", flags: 0x0001, timeout: 60s.
#W374 Digital signature verification was skipped for a file being registered ("D:\XPPSP0\System32\rsaenh.dll").
#-290 Processing REGISTERDLLS section [CryptoDlls]. Binary: "%11%\dssenh.dll", flags: 0x0001, timeout: 60s.
#W374 Digital signature verification was skipped for a file being registered ("D:\XPPSP0\System32\dssenh.dll").
#-290 Processing REGISTERDLLS section [CryptoDlls]. Binary: "%11%\initpki.dll", flags: 0x0001, timeout: 600s.
#W374 Digital signature verification was skipped for a file being registered ("D:\XPPSP0\System32\initpki.dll").

#37 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by schreiberstein 22.11.2019 18:28

Hello!

I would like to experiment with Windows XP 64 on my Z390 system and was wondering if I need to patch hal.dll as well to fix the timer issue, like on x86 XP.

@daniel_k
@Mov AX, 0xDEAD
Do you know about that?

I was unable to locate a 64 bit version of that patch so far and I do not know how to apply it myself. :-/
So, in case it is necessary, I attached the latest version of hal.dll from a fully patched Windows XP x64 EN_US (5.2.3790.4355), if somebody is so kind to perform the required modification.

Cheers,
schreiberstein

#38 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by diderius6 22.11.2019 19:39

Hi @schreiberstein,

@Mov AX, 0xDEAD has done it in post

Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (117)

Dietmar

#39 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by schreiberstein 22.11.2019 19:49

@diderius6

Oops. I did not see that. Thanks a lot!

Vielen Dank, Dietmar.

Gruß
Alexander

#40 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by KeesoN 30.12.2019 18:11

Hello. I have motherboard MSI B150 Mortar and I5-6500 skylake, sata ID DEV_A102 and i wanted to install windows xp 64 bit, but everytime i have 0x000000a5,tried to install from USB(for 32bit it works) nothind, i don't have cd dvd drive. What can I do? Send all files that i want to install windows XP 64 bit

UPDATED:
Tried all files that i got here(acpi.sys,skip sigcheck, fernando's drivers for win xp 64 bit) It installs,but after installing everytime i got BSOD 0x0000007b

UPDATED2:
By the method of exception i found that sigcheck breaks installation, installed into my windows xp setup daniel_k's acpi and XPLives drivers and at least i can get to the text installation

#41 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by H_NT5_USER 11.01.2020 15:10

Has anyone else here had any success getting Win2k3/XP 64 working on an X299 board?

I've tried a variety of settings with my Gigabyte Designare X299 motherboard.. But I can't get the windows setup program to progress any further, past the point of asking for a storage device or third party drivers, without throwing a blue screen of death.. Or a copy of XP 64 that's on a drive from my other X99 board.. to boot on the X299 board without either getting stuck on the boot screen or just out right throwing yet another BSOD..

Can anyone point me in the right direction.. As to what I'm not doing.. Or doing wrong here please??

#42 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by XPLives 17.03.2020 09:34

avatar

@H_NT5_USER

Zitat von H_NT5_USER im Beitrag #41
Has anyone else here had any success getting Win2k3/XP 64 working on an X299 board?

I've tried a variety of settings with my Gigabyte Designare X299 motherboard.. But I can't get the windows setup program to progress any further, past the point of asking for a storage device or third party drivers, without throwing a blue screen of death.. Or a copy of XP 64 that's on a drive from my other X99 board.. to boot on the X299 board without either getting stuck on the boot screen or just out right throwing yet another BSOD..

Can anyone point me in the right direction.. As to what I'm not doing.. Or doing wrong here please??


At the moment if the BIOS isn't ACPI compatible then XP Pro 64-Bit will not install. You will have a better chance getting Windows 2003 Server 32-Bit running on it if you wish to use more than 4GB of RAM installed. Otherwise stick to Windows XP Pro 32-Bit if you only plan on running regular programs and not memory intensive.

Now you mention your X99 motherboard. Does your XP Pro 64-Bit install on that without any issues?

#43 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by majkara 21.03.2020 03:42

Zitat von XPLives im Beitrag #42
@H_NT5_USER
Zitat von H_NT5_USER im Beitrag #41
Has anyone else here had any success getting Win2k3/XP 64 working on an X299 board?

I've tried a variety of settings with my Gigabyte Designare X299 motherboard.. But I can't get the windows setup program to progress any further, past the point of asking for a storage device or third party drivers, without throwing a blue screen of death.. Or a copy of XP 64 that's on a drive from my other X99 board.. to boot on the X299 board without either getting stuck on the boot screen or just out right throwing yet another BSOD..

Can anyone point me in the right direction.. As to what I'm not doing.. Or doing wrong here please??


At the moment if the BIOS isn't ACPI compatible then XP Pro 64-Bit will not install. You will have a better chance getting Windows 2003 Server 32-Bit running on it if you wish to use more than 4GB of RAM installed. Otherwise stick to Windows XP Pro 32-Bit if you only plan on running regular programs and not memory intensive.

Now you mention your X99 motherboard. Does your XP Pro 64-Bit install on that without any issues?


I got past the BSOD for ACPI by removing all ACPI drivers and setting ACPIEnable = 0 in TXTSETUP.SIF. I am now stuck at 7b (inaccessible boot device).
The motherboard I have is an ASRock Rack X299 WS/IPMI, and I really need to get my custom XP installed on this. If all fails I will have to flash the BIOS to its original image and use onboard Marvell storage controller which still IDE support.
Any ideas where I can get AHCI drivers for X299 chipset?

Thanks in advance

#44 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by Mattiwatti 09.10.2020 03:41

avatar

Dialog test (for XPLives)

#45 RE: Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware by pappyN4 23.01.2021 18:32

Testing XP64 SP2 on the following:
Gigabyte B450 Aorus M
F52 BIOS AGESA 1.0.0.6 (original F41 AGESA 1.0.0.3 also worked)
Ryzen Zen2 Matisse CPU

Issues
-ACPI Shutdown works properly sends to power state G2. However, when restarting it feels like the Reset Register is not set as windows turn off, but the computer fails to restart. Have to manually push the restart button. Issue happens when PS2 keyboard is attached. Workaround is to use USB keyboard.
-occasional BSOD 7E (0xC0000005,,,) seems to pop up during failed USB/AHCI driver testing. Not reproducible, random.


So I noticed that by default virtualization (AMD-V) aka "SVM" was disabled by default.
BIOS > MIT > Advanced Freq Settings > Advanced CPU Settings > SVM Mode Enabled & CoolNQuiet Enabled
BIOS > MIT > XMP Profile 1
BIOS > BIOS > CSM Support Enabled & Fastboot Disabled & Full Logo Disabled

You can also enable a PPT limit on the CPU lower than default. Lose a little bit of performance for a nice drop in heat.
BIOS > Peripherals > AMD Overclocking > PBO to Enabled
BIOS > Peripherals > AMD CBS > Package Power Limit > Manual & ##

Picture shows a nice spot for power/performace around 50W


Integration
acpi 5048 - 2019.9.1 (Ryzen) - diderius6
MD5 hash:7EA4BF3C519A0F8D6296CFBD825936B0

1-Integrate AHCI and/or NVME driver into pure XP64 SP2 ISO (Nlite1.4.9.3 works nice) You can also integrate latest unofficial update pack 5er_UpdatePack_XPx64SP2_2017-06_2.7z

2-Use cabdsk.exe to compress acpi.sys to acpi.sy_ and place in AMD64 folder

3-extract *.CAB to folder (SP2.CAB, SP3.CAB, or DRIVER.CAB where acpi.sys is located)
-repalce acpi.sys with modified one
-recompress using CabPack
-place new *.CAB in AMD64 folder


GPU Drivers (Tested nvidia GT710, GTX750Ti, and amd HD5450 video cards)
NVIDIA TITAN Series:
GeForce GTX TITAN, GeForce GTX TITAN Black

GeForce 900 Series:
GeForce GTX 960, GeForce GTX 950

GeForce 700 Series:
GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 705

GeForce 600 Series:
GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 635, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605

GeForce 500 Series:
GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510

GeForce 400 Series:
GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420
AMD Radeon™ R9 290 Series AMD Radeon HD 6550D Series
AMD Radeon R9 280 Series AMD Radeon HD 6530D Series
AMD Radeon R9 270 Series AMD Radeon HD 6500 Series
AMD Radeon R7 260 Series AMD Radeon HD 6410D Series
AMD Radeon R7 250 Series AMD Radeon HD 6370D Series
AMD Radeon R7 240 Series AMD Radeon HD 6310D Series
AMD Radeon™ HD 7900 Series AMD Radeon HD 6300 Series
AMD Radeon HD 7800 Series AMD Radeon HD 6200 Series
AMD Radeon HD 7700 Series ATI Radeon HD 5900 Series
AMD Radeon HD 7660D Series ATI Radeon HD 5800 Series
AMD Radeon HD 7560D Series ATI Radeon HD 5700 Series
AMD Radeon HD 7300 Series ATI Radeon HD 5600 Series
AMD Radeon HD 6900 Series ATI Radeon HD 5500 Series
AMD Radeon HD 6800 Series ATI Radeon HD 5400 Series
AMD Radeon HD 6700 Series ​
AMD Radeon HD 6600 Series

Onboard LAN/Audio drivers
ALC880, ALC882, ALC883, ALC885, ALC886, ALC887, ALC888, ALC889, ALC892, ALC899, ALC861VC, ALC861VD, ALC891, ALC900, ALC660, ALC662, ALC663, ALC665, ALC667, ALC668, ALC670, ALC671, ALC672, ALC676, ALC680, ALC221, ALC231, ALC233, ALC235, ALC236, ALC255, ALC256, ALC260, ALC262, ALC267, ALC268, ALC269, ALC270, ALC272, ALC273, ALC275, ALC276, ALC280, ALC282, ALC283, ALC284, ALC286, ALC290, ALC292, ALC293, ALC383
Realtek PCIe Fast Ethernet Family Controller:
- RTL8100E
- RTL8101E
- RTL8102E-GR
- RTL8103E(L)
- RTL8102E(L)
- RTL8101E
- RTL8103T
- RTL8401
- RTL8401P
- RTL8105E
- RTL8402
- RTL8106E
- RTL8106EUS
- RTL8107E

Realtek PCI Gigabit Ethernet Family Controller:
- RTL8110SC(L)
- RTL8110S
- RTL8110SB(L)
- RTL8169SB(L)
- RTL8169S(L)
- RTL8169

Realtek PCIe Gigabit Ethernet Family Controller:
- RTL8111B
- RTL8168B
- RTL8111
- RTL8168
- RTL8111C
- RTL8111CP
- RTL8111D(L)
- RTL8168C
- RTL8111DP
- RTL8111E
- RTL8168E
- RTL8111F
- RTL8411
- RTL8111G
- RTL8111GUS
- RTL8411B(N)
- RTL8118AS
- RTL8111H(S)
- RTL8118
- RTL8111GR

AMD CPU CoolNQuiet Driver
Download AMD Processor Driver 1.3.2.53 and turn on power management if you want CPU to clock down during idle.

Chipset Drivers (simple)
Download an old 13.4 XP/XP64 chipset pack from AMD.

Open up amd_sata.inf and add in these lines underneath existing DEVs:
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_7901&CC_0106
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_7904&CC_0106
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_43C8&CC_0106
Download Schtrom's StorAhci SATA AHCI Driver from sourceforge.

Pros: Universal driver. Not limited to just AMD controllers.
Cons: No SMART data from CrystalDiskInfo. Sequential speed is slower compared to AMD 1.2.1.321
Download OFA NVMe 1.3 Storport Miniport from sourceforge.

You will need to integrate a new version of storport.sys for it to work. Version 4173 or newer:
5.2.3790.4173 from KB943545 as mention in the readme
5.2.3790.4368 from KB950903
5.2.3790.4485 from unofficial service pack such as 5er_UpdatePack_XPx64SP2_2017-06_2 for XP64

Tested with a Samsung PM981 and storport 5.2.3790.4485.
-Version 1.3 works. Version 1.5 stalled in the TXT setup just before format partition page.
-Use MBR for boot drive. Native XP/XP64 does not boot from GPT.
-Use NTFS. FAT32 starts install but hangs in the GUI setup halfway through Installing Devices.
-No SMART data from CrystalDiskInfo.
[Disks]
disk1 = "OFA NVMe Storport Driver Diskette x86", \x86\nvme.inf, \x86
disk2 = "OFA NVMe Storport Driver Diskette x64", \x64\nvme.inf, \x64

[Defaults]
SCSI = OFAnvme_x64

[SCSI]
OFAnvme_x86 = "OFA NVMe Storport Controller x86"
OFAnvme_x64 = "OFA NVMe Storport Controller x64"

[Files.SCSI.OFAnvme_x86]
driver = disk1, nvme.sys, nvme
inf = disk1, nvme.inf
catalog = disk1, nvme86.cat

[Files.SCSI.OFAnvme_x64]
driver = disk2, nvme.sys, nvme
inf = disk2, nvme.inf
catalog = disk2, nvme64.cat

[HardwareIds.SCSI.OFAnvme_x86]
id = "PCI\CC_010802", "nvme" ; NVMe Storport Controller

[HardwareIds.SCSI.OFAnvme_x64]
id = "PCI\CC_010802", "nvme" ; NVMe Storport Controller

[Config.nvme]
value = "Parameters\PnpInterface", "5", REG_DWORD, 00000001
value = "Parameters", "BusType", REG_DWORD, 0x00000011

Download the Windows 7 chipset pack for the B450 from AMD.

Install the 1.0.5.3 USB driver from USB31_PT for the controller and the hub. The drivers install fine, but when you insert a USB device like a mouse or USB flash drive it shows as having a Code 39 error. To fix, you will have to copy usbd.sys to your \system32\drivers folder for a live system. You can also modify the inf file in two spots to also copy over the usbd.sys file when it copies over the driver sys file like the amdxhc31.sys or amdhub31.sys.

Use can decompress the usbd.sy_ file from your ISO or extract latest version from an unofficial service pack like 5er_UpdatePack_XPx64SP2_2017-06_2

Chipset Drivers (advanced)
-Download NTOSKRNL Emu_Extender from sourceforge.
-Follow the instructions and compile a working copy of ntoskrn8.sys from here: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)

#pragma comment (linker, "/export:__C_specific_handler=ntoskrnl.__C_specific_handler")
#pragma comment (linker, "/export:_local_unwind=ntoskrnl._local_unwind")
#pragma comment (linker, "/export:_purecall=ntoskrnl._purecall")
#pragma comment (linker, "/export:_snwprintf=ntoskrnl._snwprintf")
#pragma comment (linker, "/export:_stricmp=ntoskrnl._stricmp")
#pragma comment (linker, "/export:_strnicmp=ntoskrnl._strnicmp")
#pragma comment (linker, "/export:_strupr=ntoskrnl._strupr")
#pragma comment (linker, "/export:_vsnprintf=ntoskrnl._vsnprintf")
#pragma comment (linker, "/export:_vsnwprintf=ntoskrnl._vsnwprintf")
#pragma comment (linker, "/export:_wcsicmp=ntoskrnl._wcsicmp")
#pragma comment (linker, "/export:_wcsnicmp=ntoskrnl._wcsnicmp")
#pragma comment (linker, "/export:ExAcquireFastMutex=ntoskrnl.ExAcquireFastMutex")
#pragma comment (linker, "/export:ExpInterlockedFlushSList=ntoskrnl.ExpInterlockedFlushSList")
#pragma comment (linker, "/export:ExpInterlockedPopEntrySList=ntoskrnl.ExpInterlockedPopEntrySList")
#pragma comment (linker, "/export:ExpInterlockedPushEntrySList=ntoskrnl.ExpInterlockedPushEntrySList")
#pragma comment (linker, "/export:ExQueryDepthSList=ntoskrnl.ExQueryDepthSList")
#pragma comment (linker, "/export:ExReleaseFastMutex=ntoskrnl.ExReleaseFastMutex")
#pragma comment (linker, "/export:InitializeSListHead=ntoskrnl.InitializeSListHead")
#pragma comment (linker, "/export:IoIs32bitProcess=ntoskrnl.IoIs32bitProcess")
#pragma comment (linker, "/export:IoWMIDeviceObjectToProviderId=ntoskrnl.IoWMIDeviceObjectToProviderId")
#pragma comment (linker, "/export:KeAcquireInStackQueuedSpinLock=ntoskrnl.KeAcquireInStackQueuedSpinLock")
#pragma comment (linker, "/export:KeAcquireSpinLockRaiseToDpc=ntoskrnl.KeAcquireSpinLockRaiseToDpc")
#pragma comment (linker, "/export:KeLowerIrql=ntoskrnl.KeLowerIrql")
#pragma comment (linker, "/export:KeLowerIrql=ntoskrnl.KeLowerIrql")
#pragma comment (linker, "/export:KeReleaseInStackQueuedSpinLock=ntoskrnl.KeReleaseInStackQueuedSpinLock")
#pragma comment (linker, "/export:KeReleaseSpinLock=ntoskrnl.KeReleaseSpinLock")
#pragma comment (linker, "/export:KfRaiseIrql=ntoskrnl.KfRaiseIrql")
#pragma comment (linker, "/export:KfRaiseIrql=ntoskrnl.KfRaiseIrql")
-Recompile and put ntoskrn8.sys in system32\drivers and reboot before installing drivers.

Some drivers need Kernel Mode Driver Framework 1.11 (WDF 1.11).
-Follow the instructions from above and create updated wdf files.
[Version]
Signature = "$Windows NT$"
LayoutFile = layout.inf
SetupClass = BASE

[SourceDisksNames]
1 = "Kernel-Mode Driver Framework 1.11"

[SourceDisksFiles]
wdf01000.sys = 1
wdfldr.sys = 1

[DestinationDirs]
DefaultDestDir = 12

[DefaultInstall.NTamd64]
CopyFiles = WDF_DriverFiles
AddReg = WDF_AddReg

[DefaultInstall.NTamd64.Services]
AddService = Wdf01000, 0x00000400, WDF_AddService

[PostSetup.NTamd64]
;CopyFiles = WDF_DriverFiles
AddReg = WDF_AddReg

[PostSetup.NTamd64.Services]
AddService = Wdf01000, 0x00000400, WDF_AddService_NoRestart


[WDF_DriverFiles]
wdf01000.sys
wdfldr.sys

[WDF_AddReg]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01000","SystemComponent",0x00010001,"1"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01001","SystemComponent",0x00010001,"1"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01005","SystemComponent",0x00010001,"1"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01007","SystemComponent",0x00010001,"1"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01009","SystemComponent",0x00010001,"1"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wdf01011","SystemComponent",0x00010001,"1"
HKLM,"SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\Wdf01000.sys","",0x00000000,"Driver"
HKLM,"SYSTEM\CurrentControlSet\Control\SafeBoot\Network\Wdf01000.sys","",0x00000000,"Driver"
HKLM,"SYSTEM\CurrentControlSet\Control\Wdf\Kmdf\1","Version",0x00000000,"1.11"
HKLM,"SYSTEM\CurrentControlSet\Control\Wdf\Kmdf\KmdfLibrary\Versions\1","Service",0x00000000,"Wdf01000"
HKLM,"SYSTEM\CurrentControlSet\Control\Wdf\Schema\KmdfService","Type",0x00010001,"0"
HKLM,"SYSTEM\CurrentControlSet\Control\Wdf\Schema\KmdfService\Object","KeyPath",0x00000000,"CurrentControlSet\Services"
HKLM,"SYSTEM\CurrentControlSet\Control\Wdf\Schema\KmdfService\Object","KeyRoot",0x00000000,"SYSTEM"
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\wdf01000","EventMessageFile",0x00020000,"%SystemRoot%\System32\drivers\Wdf01000.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\wdf01000","TypesSupported",0x00010001,"7"
HKLM,"SYSTEM\CurrentControlSet\Control\ServiceGroupOrder","List",0x00010000,\
"System Reserved",\
"WdfLoadGroup",\
"Boot Bus Extender",\
"System Bus Extender",\
"SCSI miniport",\
"Port",\
"Primary Disk",\
"SCSI Class",\
"SCSI CDROM Class",\
"FSFilter Infrastructure",\
"FSFilter System",\
"FSFilter Bottom",\
"FSFilter Copy Protection",\
"FSFilter Security Enhancer",\
"FSFilter Open File",\
"FSFilter Physical Quota Management",\
"FSFilter Encryption",\
"FSFilter Compression",\
"FSFilter HSM",\
"FSFilter Cluster File System",\
"FSFilter System Recovery",\
"FSFilter Quota Management",\
"FSFilter Content Screener",\
"FSFilter Continuous Backup",\
"FSFilter Replication",\
"FSFilter Anti-Virus",\
"FSFilter Undelete",\
"FSFilter Activity Monitor",\
"FSFilter Top",\
"Filter",\
"Boot File System",\
"Base",\
"Pointer Port",\
"Keyboard Port",\
"Pointer Class",\
"Keyboard Class",\
"Video Init",\
"Video",\
"Video Save",\
"File System",\
"Event Log",\
"Streams Drivers",\
"NDIS Wrapper",\
"COM Infrastructure",\
"UIGroup",\
"LocalValidation",\
"PlugPlay",\
"PNP_TDI",\
"NDIS",\
"TDI",\
"NetBIOSGroup",\
"ShellSvcGroup",\
"SchedulerGroup",\
"SpoolerGroup",\
"AudioGroup",\
"SmartCardGroup",\
"NetworkProvider",\
"RemoteValidation",\
"NetDDEGroup",\
"Parallel arbitrator",\
"Extended Base",\
"PCI Configuration"

[WDF_AddService]
DisplayName = "Kernel Mode Driver Frameworks service"
ServiceType = 1
StartType = 0
ErrorControl = 1
ServiceBinary = "%12%\wdf01000.sys"
LoadOrderGroup = "WdfLoadGroup"
AddReg = WDF_AddService.AddReg

[WDF_AddService_NoRestart]
DisplayName = "Kernel Mode Driver Frameworks service"
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = "%12%\wdf01000.sys"
LoadOrderGroup = "WdfLoadGroup"
AddReg = WDF_AddService.AddReg, NoRestartPromoting_Tweak

[WDF_AddService.AddReg]
HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","WdfLoadGroup",0x00000001,01,00,00,00,01,00,00,00
HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000","Start",0x00010001,"0"
HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000\Parameters","BuildNumber",0x00010001,"0"
HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000\Parameters","MajorVersion",0x00010001,"1"
HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000\Parameters","MinorVersion",0x00010001,"11"

[NoRestartPromoting_Tweak]
HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000","Start",0x00010001,"0"

Useful Tools:
-Hexplorer or equivalent hex editor
-Dependency Walker
-PEChecksum.exe
-Download the Windows 7 chipset pack for the B450 from AMD.

-Open up amd_sata.inf and change the two lines that have NTAMD64.6.1 -> NTAMD64.5.2

-Add in these lines underneath existing DEVs if not already there:
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_7901&CC_0106
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_7904&CC_0106
%AMDSATA.DeviceDesc% = amd_sata_inst, PCI\VEN_1022&DEV_43C8&CC_0106

-Open up amd_xata.sys with hexplorer or equivalent, find and change ntoskrnl.exe -> ntoskrn8.sys.
-Apply PEChecksum.exe on amd_xata.sys

-In Emu_Extender, open up ntoskrnl_redirects.h and add the following line if does not exist:
#pragma comment (linker, "/export:IoIs32bitProcess=ntoskrnl.IoIs32bitProcess")
-Compile new ntoskrn8.sys and place in system32\drivers folder. Restart computer and install updated drivers.
AMD 2.0.0.60 USB30_ZP from Windows 7 installs with Emu_Extender and modified ksecdd 6.0.5456.5 sys file. USB ports work ok, but when you shutdown or restart you get BSOD 9F 0x500 DRIVER_POWER_STATE_FAILURE. From Microsoft support page it looks Windows XP expects PoStartNextPowerIrp to be run, but Winodws 7 and newer does not.

Backporting generic Win 8 USB3 driver works. Instructions on how to create and and some extra steps needed for x64 version found below:
Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)
Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (419)
Backporting Windows 7 NVMe drive works. Same speed as OFA NVMe 1.3 Storport Miniport. Same no SMART info.

Instructions found here:
Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)

x86 storport 6.1.7601.23403
hexposition: 4E19
change: 8B 8E 3C 01 00 00 -> B9 00 00 00 00 90
hexposition: 4E2C
change: 74 11 -> EB 11

x64 storport 6.1.7601.23403
hexposition: 156AE
change: 8B 83 C0 01 00 00 -> B8 00 00 00 00 90
hexposition: 156C0
change: 74 15 -> EB 15
;
; Copyright (c) Microsoft Corporation, 2012
;

[Version]
Signature = "$WINDOWS NT$"
Class = SCSIAdapter
ClassGUID = {4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider = %MSFT%
PnpLockdown = 1
DriverVer=06/21/2006,6.1.7601.23403

[SourceDisksNames]
1 = %DiskName%,,,

[SourceDisksFiles]
stornvme.sys = 1

[DestinationDirs]
; DIRID_DRIVERS
DefaultDestDir = 12

[ControlFlags]
BasicDriverOk = *
ExcludeFromSelect = *

[Manufacturer]
%MS-NVME% = NVME, NTamd64

[NVME.NTamd64]
%PCI\CC_010802.DeviceDesc% = Stornvme_Inst, PCI\CC_010802

[Stornvme_Inst]
CopyFiles = Stornvme_copyfiles

[Stornvme_copyfiles]
stornvme.sys,,,0x100

[Stornvme_Inst.HW]
AddReg = Stornvme_Inst_HW_AddReg

[Stornvme_Inst_HW_AddReg]
; registry values related to MSI support
HKR, Interrupt Management, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010
HKR, Interrupt Management\Affinity Policy, 0x00000010

;
; The MSISupported entry determines whether the device supports MSIs. Set it to 1 to enable MSI support.
;
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, 0x00010001, 1

;
; The MessageNumberLimit entry specifies the maximum number of MSIs to allocate.
; For PCI 2.2, MessageNumberLimit must be 1, 2, 4, 8, or 16. For PCI 3.0, MessageNumberLimit can be any number up to 2,048.
; Set it to 65 so that 64 IO Queues and 1 Admin Queue can have different messages.
; Note that this number should be increased to "Processor Count + 1" if the driver runs on machine with more processors.
;
HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, 0x00010001, 65

;
; Make sure all processor in group are used to serve interrupt from this device. IrqPolicySpreadMessagesAcrossAllProcessors (5)
;
HKR, Interrupt Management\Affinity Policy, DevicePolicy, 0x00010001, 5

;
; Specifies that the device's interrupts are of high priority. This setting is appropriate for devices that require low latency. IrqPriorityHigh (3)
;
HKR, Interrupt Management\Affinity Policy, DevicePriority, 0x00010001, 3

;
; Allow interrrupt happens on processors beyond group 0. (e.g. might be in a single group other than 0)
;
HKR, Interrupt Management\Affinity Policy, GroupPolicy, 0x00010001, 1

;
; Enables Storport IPM for this adapter
;
HKR, "StorPort", "EnableIdlePowerManagement", 0x00010001, 0x01


[Stornvme_Inst.Services]
AddService = stornvme, 0x00000002, Stornvme_Service_Inst, Stornvme_EventLog_Inst

[Stornvme_Service_Inst]
DisplayName = %StorNVMe_ServiceDesc%
ServiceType = 1
StartType = 0
ErrorControl = 3
ServiceBinary = %12%\stornvme.sys
LoadOrderGroup = SCSI Miniport

AddReg = nvme_registry_values
;AddReg = nvme_registry_device_specific_values

[nvme_registry_values]
HKR, "Parameters\PnpInterface", "5", 0x00010001, 0x00000001

; NOTE: bustype 0x11 is value of BusTypeNVMe
HKR, "Parameters", "BusType", 0x00010001, 0x00000011

; Default timeout value 10 seconds
HKR, "Parameters", "IoTimeoutValue", 0x00010001, 0x0000000A

;[nvme_registry_device_specific_values]

[Stornvme_EventLog_Inst]
AddReg = Stornvme_EventLog_AddReg

[Stornvme_EventLog_AddReg]
HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,, TypesSupported, 0x00010001, 7


;********************************************************
[Strings]
;Localizable
DiskName = "Microsoft Standard NVM Express Driver"
MSFT = "Microsoft"
MS-NVME = "Standard NVM Express Controller"
PCI\CC_010802.DeviceDesc = "Standard NVM Express Controller"
StorNVMe_ServiceDesc = "Microsoft Standard NVM Express Driver"


Chipset Drivers (null)
Null driver. Download an old 13.4 XP/XP64 chipset pack from AMD or get Windows 7 for the B450 chipset.

Open up SMBUSamd.inf and add in these two lines underneath existing DEVs:
%AMD.DeviceDesc0% = AMDSMBus, PCI\VEN_1022&DEV_790B
%AMD.DeviceDesc0% = AMDSMBus64, PCI\VEN_1022&DEV_790B
Null driver. Download an old 13.4 XP/XP64 chipset pack from AMD or get Windows 7 for the B450 chipset.

Open up AmdIOV.inf and add in this line underneath existing DEVs:
%IOMMU.DeviceDesc%=NULL_DRIVER,PCI\VEN_1022&DEV_1481
https://en.wikipedia.org/wiki/AMD_Platform_Security_Processor

Install null driver to remove from missing devices.
[Version]
Signature = "$WINDOWS NT$"
Provider = %ManufacturerName%
Class = System
DriverVer = 11/15/2019, 4.10.0.1

;*****************************************
; INF Manufacturer Section
;*****************************************
[Manufacturer]
%ManufacturerName% = AMDMfg, NTx86, NTamd64

[AMDMfg.NTx86]
%amdpsp_30.DeviceDesc% = amdpsp_Device_30, PCI\VEN_1022&DEV_1456
%amdpsp_30.DeviceDesc% = amdpsp_Device_30, PCI\VEN_1022&DEV_1486
%amdpsp_30.DeviceDesc% = amdpsp_Device_30, PCI\VEN_1022&DEV_15dF

[AMDMfg.NTamd64]
%amdpsp_30.DeviceDesc% = amdpsp_Device_30, PCI\VEN_1022&DEV_1456
%amdpsp_30.DeviceDesc% = amdpsp_Device_30, PCI\VEN_1022&DEV_1486
%amdpsp_30.DeviceDesc% = amdpsp_Device_30, PCI\VEN_1022&DEV_15dF

;*****************************************
; INF Install Section
;*****************************************
[amdpsp_Device_30]
;empty

[amdpsp_Device_30.Services]
AddService = , %SPSVCINST_ASSOCSERVICE%

[Strings]
SPSVCINST_ASSOCSERVICE = 0x00000002
ManufacturerName = "Advanced Micro Devices Inc."
ClassName = "Security Devices"
DiskName = "AMD PSP Installation Disk"
amdpsp_30.DeviceDesc = "AMD PSP 3.0 Device"
According to the readme this should also be a null driver. Unlike the SMBus and IOMMU, this one has a sys file that tries to install.
[Version]
Signature="$Windows NT$"
Provider=%AMD%
Class=System
DriverVer=06/13/2019,1.0.0.0067

[Manufacturer]
%AMD%=AMD, NTx86, NTamd64

[AMD.NTx86]
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_145A
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_1455
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_1485
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_148A

[AMD.NTamd64]
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_145A
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_1455
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_1485
%AMDPCIDev.DeviceDesc% = AMDPCIDev_Inst,PCI\VEN_1022&DEV_148A

[AMDPCIDev_Inst]
;nop

[AMDPCIDev_Inst.Services]
AddService=,2 ; no value for the service name

[Strings]
AMD = "Advanced Micro Devices"
AMDPCIDev.DeviceDesc = "AMD PCI"
AMDPCIDev.SVCDESC = "AMD PCI"
DiskName = "AMDPCIDev Source Disk"


It's possible to get the original inf/sys driver installed, but when you shutdown or restart you get BSOD 9F 0x500 DRIVER_POWER_STATE_FAILURE. From Microsoft support page it looks Windows XP expects PoStartNextPowerIrp to be run, but Winodws 7 and newer does not.

From Windows 7 chipset pack for the B450 from AMD. PCI_INF. Update inf to add DEV1485 and DEV148A. Open AMDPCIDev.sys with hex editor and change ntoskrnl.exe to ntoskrn8.sys and PEChecksum.exe on it.
Install null driver to remove from missing devices
[Version]
Signature="$WINDOWS NT$"
Class=System
Provider=%AMD%
DriverVer=10/10/2017,2.2.0.71

[Manufacturer]
%AMD%=Amd, NTx86, NTamd64

[Amd.NTx86]
%GPIO.DeviceDesc% = GPIO_Inst,ACPI\GPIO0010
%GPIO.DeviceDesc% = GPIO_Inst,ACPI\AMD0030
%GPIO.DeviceDesc% = GPIO_Inst,ACPI\AMDI0030

[Amd.NTamd64]
%GPIO.DeviceDesc% = GPIO_Inst,ACPI\GPIO0010
%GPIO.DeviceDesc% = GPIO_Inst,ACPI\AMD0030
%GPIO.DeviceDesc% = GPIO_Inst,ACPI\AMDI0030

[GPIO_Inst]
;nop

[GPIO_Inst.Services]
AddService = ,2 ; no value for the service name

[strings]
AMD = "Advanced Micro Devices, Inc"
GPIO.DeviceDesc = "AMD GPIO Controller"
GPIO.SvcDesc = "AMD GPIO Client Driver"
DiskId1 = "AMD GPIO Installation Disk"

You can install the driver from the Windows 7 chipset pack for the B450, but is not initialized error code 37.

GPIO_ML. No changes needed to the inf. amdgpio2.sys has missing dependencies in the Wdfldr.sys from XP. Kernel Mode Driver Framework 1.11 from Win7 with NTOSKRNL Emu_Extender needs to be installed.

To avoid BSOD 0xFC ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY, open AMDPCIDev.sys with hex editor and at hex position 3400 (security_cookie like in generic win8 driver), change value 32 A2 DF 2D 99 2B to something else. Does not matter what, then PEChecksum.exe on it.



Extra
VMware users: make sure you install the generic USB drivers for USB passthrough to work
Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware (4)

Xobor Forum Software von Xobor
Datenschutz