SweetLow wrote on Yesterday, 18:02:
LSS10999 wrote on Yesterday, 16:17:
My main issue at the moment is to look for the reason why it takes this long (>50 min) to boot NT 3.51 with NVME2K.
You probably has unworked IRQ. In such situation it takes 1 second for each I/O request (on firing Fallback Timer).
I wonder if PCICFG is good enough for checking info about the system's IRQ info? If so, what should I pay attention to about the NVMe devices, that may be the cause of the issue?
Also, when I tested Win98SE installed on NVMe disk, even after applying all necessary patches (rloew's as well as PATCH9X), as well as copying all additional disk drivers, the startup process would hang at a relatively early phase (boot animations stopped), likely before any disk drivers are involved. It's still first boot after finishing the initial installation and nothing have been configured yet. I wonder if this hang is also due to IRQ problem? Not sure if it will eventually proceed after waiting long enough (like hours)...
A side topic: This board (ASRock X99M Killer/3.1) is my first test board for dISAppointment v0.2. Using its TPM port and with its LDRQ1# brought out using a wire, the LPC-ISA adapter works as expected after configuring the decoding ranges. It currently has a Sound Blaster 16 PnP (CT2950) installed, and is fully operational once it has been initialized, preferably with UNISOUND. Of several boards I experimented, this is the only board that can use ISA PnP cards (whereas other boards can only use non-PnP ones). ISA PnP probably works with other ASRock boards as well.
The board's UEFI BIOS offers very few options regarding IRQ. To free IRQ7 for the CT2950 I had to primarily disable the onboard audio, which wants that IRQ most. Later on I discovered I have to additionally disable onboard Intel LAN as that will also take IRQ7 if the board's serial port (which is on 3F8h/IRQ4) is enabled. The board has an additional network adapter (Atheros Killer E2200) which happened to have wider OS support, such as usable Packet and NDIS2 drivers, and it does not take an additional IRQ. IRQ5, on the other hand, is hopeless to free as it's wanted by pretty much everyone as far as I've tested.
I checked the system's PIRQ registers (00:1f.0, registers 60h and 68h) and right now only 3, 5, 10, 11 are taken by first four PIRQs with current setup. The other 4 PIRQs are inactive, including one exclusively for the onboard audio, and one exclusively for the Intel LAN.
My boot process is like, booting to DOS, just set up the LPC-ISA bridge and initialize the card with UNISOUND, then run GRUB4DOS to launch the NTLDR meant for NT 3.51. This process works, and CT2950 will work with NT 3.51's default SNDBLST driver (which is non-PnP) if already configured via UNISOUND. However, on this board, NT 3.51 seems to suggest IRQ7 is also being taken by something, but it allowed me to use IRQ2, so I adjusted UNISOUND to configure the sound card as such. After installing the driver, reboot, and wait long enough, I get to hear "Tada" after logging in. The sound card is working great!
And here's the question... Could it be NT 3.51's MPS HAL (APIC) is somehow configuring the IRQs differently? AFAICT IRQ7 should have been available under this circumstance, as back then the card did work correctly (including in Creative's DIAGNOSE) when I configured it to use IRQ7 while in DOS, Win3.x and 9x (even WinXP). The OSes were previously installed on SATA disks back then, yet I was not able to get UniATA to work with NT 3.51, so I had no idea of how NT 3.51's HAL works on this system until now.
And back to the IRQ fallback timer question... I wonder if this is tweakable in case of IRQ-broken environments like this, to hopefully improve performance and reduce startup delay, while avoiding breakage if possible...