Dietmar Posted June 6 Posted June 6 @reboot12 I see this post,but no information there how to SET VGA enable via Uefi shell Dietmar
reboot12 Posted June 6 Posted June 6 (edited) @Dietmar I need to remember and practice because I don't remember exactly. pci - list all PCI devices For graphics card you need set register Command (4): 0007 mm xxyyzz04 7 -pci For PCI Bridge you need set register VGA Enable in Bridge Control (3E) (the bridge to which the graphics card is connected) mm xxyyzz3E 8 -pci xxyyzz is PCI bus dev func of PCI Bridge device https://forums.macrumors.com/threads/win7-x64-booting-natively-via-efi-no-bios-emulation.696523/post-14778765 https://forums.macrumors.com/threads/win7-x64-booting-natively-via-efi-no-bios-emulation.696523/post-14776170 This is example in my PC: 00 1C 04 - PCI bridge to which the graphics card is connected 04 00 00 - PCIe graphics card mm 001c043e 8 -pci VGA Enable mm 04000004 7 -pci I/O acces and Bus master For check changes: pci -i 00 1c 04 -b pci -i 04 00 00 -b To check bridge to which the graphics card is connected use: devtree -b and dh handle_number Edited June 6 by reboot12
reboot12 Posted June 6 Posted June 6 (edited) @Dietmar Yes, VGA Enable 1 help boot xp32 on iGPU using normal ntldr - black screen but OS works - I have Remote Administrator installed and OS works in 640x480 4-bit (Memory Remap Enabled or Disabled): 00 01 00 - bridge to which the graphics card iGPU is connected 00 02 00 - iGPU No need set I/O acces and Bus master 'Command (4)' for iGPU because is default set to 7 - only VGA Enable for bridge: mm 0001003e 8 -pci CSMWrap121.efi If VGA Enable is 0 then OS hang for some minutes (about ~3) and in WinDbg BSOD 0x4000008a: Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. Opened \\.\com3 Waiting to reconnect... Connected to Windows XP 2600 x86 compatible target at (Fri Jun 6 15:34:42.574 2025 (UTC + 2:00)), ptr64 FALSE Kernel Debugger connection established. Symbol search path is: *** Invalid *** **************************************************************************** * Symbol loading may be unreliable without a symbol search path. * * Use .symfix to have the debugger choose a symbol path. * * After setting your symbol path, use .reload to refresh symbol locations. * **************************************************************************** Executable search path is: ********************************************************************* * Symbols can not be loaded because symbol path is not initialized. * * * * The Symbol Path can be set by: * * using the _NT_SYMBOL_PATH environment variable. * * using the -y <symbol_path> argument when starting the debugger. * * using .sympath and .sympath+ * ********************************************************************* *** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrpamp.exe - Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible Built by: 2600.xpsp_sp2_rtm.040803-2158 Machine Name: Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055c700 System Uptime: not available watchdog!WdUpdateRecoveryState: Recovery enabled. *** Fatal System Error: 0x4000008a (0x89ECE990,0xB9D7DA60,0x00000000,0x00000000) Break instruction exception - code 80000003 (first chance) A fatal system error has occurred. Debugger entered on first try; Bugcheck callbacks have not been invoked. A fatal system error has occurred. ********************************************************************* * Symbols can not be loaded because symbol path is not initialized. * * * * The Symbol Path can be set by: * * using the _NT_SYMBOL_PATH environment variable. * * using the -y <symbol_path> argument when starting the debugger. * * using .sympath and .sympath+ * ********************************************************************* *** ERROR: Module load completed but symbols could not be loaded for ntdll.dll *** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrpamp.exe - ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck 4000008A, {89ece990, b9d7da60, 0, 0} ***** Kernel symbols are WRONG. Please fix symbols to do analysis. *** ERROR: Symbol file could not be found. Defaulted to export symbols for halmacpi.dll - *** ERROR: Module load completed but symbols could not be loaded for mssmbios.sys ************************************************************************* *** *** *** *** *** Your debugger is not using the correct symbols *** *** *** *** In order for this command to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* ************************************************************************* *** *** *** *** *** Your debugger is not using the correct symbols *** *** *** *** In order for this command to work properly, your symbol path *** *** must point to .pdb files that have full type information. *** *** *** *** Certain .pdb files (such as the public OS symbols) do not *** *** contain the required information. Contact the group that *** *** provided you with these symbols if you need this command to *** *** work. *** *** *** *** Type referenced: nt!_KPRCB *** *** *** ************************************************************************* Probably caused by : ntkrpamp.exe ( nt!KeRegisterBugCheckReasonCallback+77c ) Followup: MachineOwner --------- nt!DbgBreakPointWithStatus+0x4: 8052a5d8 cc int 3 I tried install Haswell iGPU driver, install OK but after reboot and VGA Enable is error Code 12 (not free resources) and still works on 4-bit: But if use bootmgr+winload.exe+BCD+vga.sys (haswell iGPU uninstalled) no need set VGA Enable 1 then OS boot in e.g. 800x600 32-bit VGA Enable is only helpful for ntldr loader Edited June 6 by reboot12
Dietmar Posted June 6 Posted June 6 (edited) @reboot12 Hi Gelip, I am a big step forward. And now I think, all what I write at FlyGoat about loading legacy Option Rom is correct. I put the AMD Radeon HD 6450 into my Asrock z370 k6 board, with CSM enabled. And voila, after typing dmem 0C0000 40 at the UEFI Shell, I SEE the legacy Option Rom at 000C0000, 55 AA. And now comes the most crazy part: When I disable CSM with this card, I get black screen. And even after typing fs0: and then start blind the csmwrap.efi from this shell, the screen remains black. This means, that until now it is impossible for SeaBios to load ANY legacy Option Rom at 000C0000 in memory. It uses the UEFI Option Rom if there, cool Dietmar PS: Now I have an nearly ideal test scenario, if it is possible for Clover, to load the legacy Option Rom at this place 000C0000 to memory and shows me the menu screen of Clover, the UEFI shell when hitting esc in Clover and then boot csmwrap.efi . Edited June 6 by Dietmar
reboot12 Posted June 6 Posted June 6 14 minutes ago, Dietmar said: And now comes the most crazy part: When I disable CSM with this card, I get black screen. This is normal because CSM Disabled = pure UEFI and this requires GOP. Your AMD6450 card not have GOP - only Legacy VBIOS
Dietmar Posted June 6 Posted June 6 @reboot12 Yes, but now comes the sad message: Clover cant load the legacy VGA Option Rom at this place C0000. At once I understand, why only 4 bit Graphic. But when I use the Nvidia card GT 730 with csm disabled on the Asrock z370 k6 board, it also does not load the vga Bios to C0000. But strange enough, after waiting about 2 min, it boots XP SP3 in 32 bit color. The normal Nvidia driver works. So, it must fetch the information, that it has a legacy VGA option Rom from another place Dietmar
reboot12 Posted June 6 Posted June 6 11 minutes ago, Dietmar said: Clover cant load the legacy VGA Option Rom at this place C0000. Why clover? CSMWrap 1.2.1 normal load VBIOS from my AMD6450 - but in motherboard bios I have amd-gop inserted.
Dietmar Posted June 6 Posted June 6 @reboot12 Please tell me step by step, how you integrated amd-gop from that card into Bios on board of a compi, which tool you need and can this be done for other graphik cards also Dietmar
Dietmar Posted June 7 Posted June 7 (edited) Yesssssaaa After soso much crazy tests and hacks I succeed with the Nvidia GT 730 graphik card for to boot XP SP3 with full 32 bit 3D graphik on the Arrow Lake Gigabyte board B860 DS3H under pure Uefi, means no csm at all. Dietmar Edited Sunday at 10:19 PM by Dietmar 3
reboot12 Posted June 7 Posted June 7 (edited) 6 hours ago, Dietmar said: Please tell me step by step, how you integrated amd-gop from that card into Bios on board of a compi, which tool you need and can this be done for other graphik cards also GOP not from this one but from a similar HD7450 Did you read this post? I described on betaarchive.com with pictures: https://msfn.org/board/topic/186793-csmwrap-boot-csm-on-uefi-only-systems/page/9/#findComment-1280411 Insert .ffs file using UEFITool: https://www.mediafire.com/file/hdkw8v22lhixv8c/AMD-GOP.zip/file Instruction step-by-step on other example driver: https://github.com/pbatard/efifs/wiki/Adding-a-driver-to-a-UEFI-firmware Read tutorial from Adding the module to the firmware Edited June 7 by reboot12
reboot12 Posted Saturday at 12:36 PM Posted Saturday at 12:36 PM (edited) @Dietmar I noticed an interesting thing - I did the xp32 tests with CSMWrap described in the last few posts on the original xp sp2 files including acpi.sys and there were no problems with acpi. Today I wanted to test something, I set CSM Enabled in the bios, I run the system without CSMWrap and there is BSOD A5. I replaced the acpi.sys outside of the running system with the ones from you - modded acpi.sys 5.2 and the system boots fine - but it seems to be related to the fact that I use winload.exe and it has a problem with the original acpi.sys - I seem to have written about it before (in 2019 and 2020) on BA about xp 64-bit + winload.exe: https://www.betaarchive.com/forum/viewtopic.php?p=445453&sid=c0c23f5574a1881384f2de47f5f59987#p445453 https://www.betaarchive.com/forum/viewtopic.php?p=447734&sid=c0c23f5574a1881384f2de47f5f59987#p447734 Very interesting that with CSMWrap work ok original acpi.sys + winload.exe Edited Saturday at 01:04 PM by reboot12
Dietmar Posted Saturday at 06:47 PM Posted Saturday at 06:47 PM (edited) @reboot12 I wonder, which parts from DSDT are really presented from the SeaBios to the compi. When only Acpi1b words are presented, it is clear, that the original acpi.sys works. ReadWrite Everything gives me a DSDT on running XP SP3 on the Arrow Lake board, which is very near to the DSDT from UEFI Bios F6. And so comes the problem with XP: Not enough resources for the PCI-1 bus. On my older compi from 2009, which is my daily work compi X58, there is only ONE PCI-bus. And on that PCI-bus 1 with yellow mark sits Slot 1 with the graphik card. NOTHING other sits there! It has nothing to do with recogneicing the Graphikcard. They are recogniced with their VID&Pid numbers via csmwrap.efi . The AMD has Legacy VGA Option Rom, the Nvidia GT 730 not. The fault of csmwrap.efi is, that it needs an Legacy VGA Option ROM on a compi without any CSM or black screen, after SeaBios is loaded and XP starts. You see the running Balken, but then only start sound of XP. And also a VGA UEFI Option ROM, or no screen at all from start of compi, I tested with AMD Radeon HD6450. And this gives me the ingenious idea, how to overcome this problem, works Dietmar PS: I also tried a heavy modd of the DSDT, for to give PCI-1 bus more resources. Fail, may be something like hard wired or stored in other Acpi tables. The most easy would be, to use not an acpi PC, but this is not what I wanted. Edited Saturday at 06:54 PM by Dietmar
reboot12 Posted Saturday at 06:57 PM Posted Saturday at 06:57 PM (edited) 16 minutes ago, Dietmar said: The AMD has Legacy VGA Option Rom, the Nvidia GT 730 not. It is impossible that such an old graphics card GT 730 does not have a Legacy vbios, after all, you booted the computer with this card in Legacy mode using CSMWrap - right? https://msfn.org/board/topic/186793-csmwrap-boot-csm-on-uefi-only-systems/page/10/#findComment-1280463 This is proof that it has vbios - show what the SLIC ToolKit memory dump at C0000 shows: https://msfn.org/board/topic/186793-csmwrap-boot-csm-on-uefi-only-systems/page/9/#findComment-1280402 Edited Saturday at 07:04 PM by reboot12
Dietmar Posted Saturday at 07:59 PM Posted Saturday at 07:59 PM (edited) @reboot12 I just check again: The GT 730 does not have an Legacy VGA Option Rom. The Radeon R240 has. But the Radeon also does not load 55 AA at C0000 because the PCI-bus 1 has not enough resources for it under XP on the Arrow Lake board. This you can check easy via UEFI shell with dmem 0C0000 40 . The resources go all to PCI-bus 00. And because of this, also Clover does not help. I understand everything, what the problem is of the Arrow Lake bord for booting via Graphik card for XP SP3 and also what is the problem of csmwrap.efi: It needs mostly the help of an underlying CSM from a compi, where it is just disabled. Or it is lost without Legacy VGA Option Rom, waiting of 2 min for to load SeaBios and then black screen. And on an Arrow Lake board this resources problem appears. After I understand this, I can boot full XP SP3 to desktop, 32 bit color and resolution as much as I want, 3D driver works to full there. I disable PCI-bus 01 in Device Manager. Everything works there and is stable Dietmar Edited Saturday at 08:00 PM by Dietmar
reboot12 Posted Saturday at 08:16 PM Posted Saturday at 08:16 PM (edited) 31 minutes ago, Dietmar said: I just check again: The GT 730 does not have an Legacy VGA Option Rom. I don't believe it. I asked you to take a screenshot in xp in SlicTool Kit (slic.exe): https://www.mediafire.com/file/zuxxznjxjjnn3u1/memory_check.zip/file At the moment I'm not interested in whether the card works on ArrowLake with CSMwrap just whether it actually has VBIOS - connect card to other old motherboard run xp in legacy mode and please use slic tool kit. Edited Saturday at 08:31 PM by reboot12
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now