Hi Branden,
First, welcome and thanks for helping out with my work!
I wasn't planning on posting unless I could actually contribute something, but since Keith Hui posted last month about his work on CBMEM for 440BX and ACPI, I figured I should do some proper testing and at least post if it worked out.
There are certainly something you can contribute, which I'll get to in a moment.
I'm running coreboot on a ASUS P2-99 board with the config copied straight from P2B. It's not perfect, but it is stable and I haven't found anything that doesn't work that did with the original firmware.
Testing I did over the past week:
- Actually made a seperate P2-99 config, I'd been using vanilla P2B
with no renaming for a few months on it.
I'd like you to pose your config on the list, so I can see how much different P2-99 is from P2B and if a new mainboard is warranted.
Very long ago, I once got a P2-99 by way of a computer discarded by a friend of my father. I later traded it for a P3B-F that I still have today.
I remember it uses a 440ZX northbridge, essentially a low-spec BX (2 slots, 512MB max, 4 PCI slots). What I don't remember is the super I/O chip it uses.
But from what you wrote, you can run a mostly unmodified P2B build on it, so no new northbridge support should be necessary.
- Setup a serial console - seems to work fine. I was using I
different board for flashing anyway, since flashrom doesn't know the board enable and the asus flasher only works on with original firmware to find the board enable - it can flash coreboot though if you use the right flag to tell it to flash the whole rom.
As far as I know in this family of boards only P3B-F needs a board enable. Try this flashrom command on the board: # flashrom -p internal and see if a chip is detected.
You need to get a i386/i686 build of flashrom to the board.
Do you see a chip labelled AS99127F on your board? You may be able to use the flashrom trick for P3B-F [1] to enable internal flashing.
- Tried Keith Hui's ACPI patches
(https://review.coreboot.org/c/22067/). It has no problem booting or restarting, but linux complains about the acpi. Didn't really expect it to work properly on a different board anyway.
Is it complaining about a missing MBRS table? It's an incomplete stub in the P2B board. I'm going to remove that and just include all the motherboard resources it declares in the ASL.
As it stands now, all I've done is run it with a P2B config and not verified if everything is working as it should, I barely have beginner knowledge of C and nothing on low level x86 or acpi, so I can't actually do anything but testing. I can't upload board status for it since it's a P2-99 not P2B. I'm also still stuck with with using another board and hot swapping chips to flash roms. I should probably post on the flashrom list that the board I'm flashing with works as well as see if anyone knows anything about the asus board enable (it's getting pretty old).
I think the next step is to boot a 100% unmodified P2B build. That should allow you to run board_status (as far as it is concerned you're booting a P2B, albeit on a P2-99 hardware), but to actually do it you need to set yourself up on Gerrit.
The main reason I'm posting is to say I can test patches the patches Keith Hui has been working on and post logs. I'd also be glad for any other recommendations on what I can do to help with this system.
Thanks again!
To recap, our next steps:
Show us your P2-99 Kconfig. Boot test an unmodified P2B build. Get Gerrit access for yourself so you can run board_status on it. Worse come to worst, I'll submit a asus/p2-99 patch for you. Check if you really need a board enable for flashrom. I'll submit a patch to move P2B to EARLY_CBMEM_INIT. Boot test it as soon as you can, since this is required to keep this board in tree past the real-soon-now 4.7 release. Then I'll update the ACPI patch for P2B (needs more restructuring based on feedbacks I received). It should not complain about missing stuff anymore. We'll go from there.
If you need help pulling in a patch, I'll see how/if I can help.
Keith