Hello, I started with a fresh checkout of CVS tree (since my current working tree is a mess) and made a minimum modification to boot ADLO with VGA BIOS to enable video on a EPIA.
With attached patches, my EPIA 5000 boots into GRUB (then Linux) with VGA console.
lb-epia.patch This applies to LinuxBIOS itself. Enables shadow RAM, adds vgainit.inc (it is harmless unless HAVE_FRAMEBUFFER is enabled), and a minimum fix to raminit.inc. Ron, please apply this one.
adlo-epia.patch This is for ADLO. Since it includes changes specific to EPIA, it should not (entirely) go into CVS. Note that this includes serial debug patch by hcyun, and EPIA doesn't work without it. Perhaps a timing problem?
pirq-EPIA.bin This should be put at util/ADLO/pirq. It was taken from LinuxBIOS, not Award BIOS (I think it makes sense). Of cource, VGA BIOS is also required and it must be taken from your box.
As I said this is minimum modification, it does not boot very fast, and it may fail to detect IDE at cold boot. For these issues, I have already posted fixes to the list.
RAM is fixed at 64MB, as current CVS is. If you change this, you have to hack raminit.inc, as well as CMOS value in the ADLO/loader.s. I'm working on automatic detection of RAM.
Have fun.
Takeshi,
I started with a fresh checkout of CVS tree (since my current working tree is a mess) and made a minimum modification to boot ADLO with VGA BIOS to enable video on a EPIA.
With attached patches, my EPIA 5000 boots into GRUB (then Linux) with VGA console.
lb-epia.patch This applies to LinuxBIOS itself. Enables shadow RAM, adds vgainit.inc (it is harmless unless HAVE_FRAMEBUFFER is enabled), and a minimum fix to raminit.inc. Ron, please apply this one.
I think I will integrate this patch during the weekend.
adlo-epia.patch This is for ADLO. Since it includes changes specific to EPIA, it should not (entirely) go into CVS. Note that this includes serial debug patch by hcyun, and EPIA doesn't work without it. Perhaps a timing problem? pirq-EPIA.bin This should be put at util/ADLO/pirq. It was taken from LinuxBIOS, not Award BIOS (I think it makes sense). Of cource, VGA BIOS is also required and it must be taken from your box.
Ron, would you check this?? I'm not familiar with ADLO.
RAM is fixed at 64MB, as current CVS is. If you change this, you have to hack raminit.inc, as well as CMOS value in the ADLO/loader.s. I'm working on automatic detection of RAM.
I thought I have fixed it. Check out northbridge/via/vt8601/northbridge.c
-Andrew
andrew, do a cvs update before committing any patches, as I have committed some of those.
ron
adlo-epia.patch This is for ADLO. Since it includes changes specific to EPIA, it should not (entirely) go into CVS. Note that this includes serial debug patch by hcyun, and EPIA doesn't work without it. Perhaps a timing problem?
standalone patch with stuff specific to EPIA probably would be better.
as for timing isuses you may want to play with ide driver.
pirq-EPIA.bin This should be put at util/ADLO/pirq. It was taken from LinuxBIOS, not Award BIOS (I think it makes sense). Of cource, VGA BIOS is also required and it must be taken from your box.
Actually it is not clear if this particular stuff is needed at all. Initally we were using it to get Win2k to work, but later on it came out that windows boots without this stuff anyway. Perhaps it would be needed to get FreeBSD to boot.
On Thu, May 15, 2003 at 01:05:10AM -0400, Adam Sulmicki wrote:
adlo-epia.patch This is for ADLO. Since it includes changes specific to EPIA, it should not (entirely) go into CVS. Note that this includes serial debug patch by hcyun, and EPIA doesn't work without it. Perhaps a timing problem?
standalone patch with stuff specific to EPIA probably would be better.
My patch is all about trivial stuff to build correctly for EPIA. Doesn't ADLO need a generic configuration mechanism? In current form, everything is hardcoded, so patches like mine are hard to get in. It is enough to have a simplest configuration mechanism, like Makefile includes that specify which video BIOS to use, which shadow ON/OFF code to include, etc.
as for timing isuses you may want to play with ide driver.
It hangs before hitting IDE code. Video is not initialized.
adlo-epia.patch This is for ADLO. Since it includes changes specific to EPIA, it should not (entirely) go into CVS. Note that this includes serial debug patch by hcyun, and EPIA doesn't work without it. Perhaps a timing problem?
standalone patch with stuff specific to EPIA probably would be better.
My patch is all about trivial stuff to build correctly for EPIA. Doesn't ADLO need a generic configuration mechanism? In current form, everything is hardcoded, so patches like mine are hard to get in. It is enough to have a simplest configuration mechanism, like Makefile includes that specify which video BIOS to use,
video bios is copyrighted. we can't collect/distribute those. I belive.
which shadow ON/OFF code to include, etc.
Well the idea was to move all motherboard-dependant stuff into LinuxBIOS and and leave ADLO motherboard-independent. After all, we are talking here only about control of shadow ram and that's about it.
There was some discussion on it before, there was some talk, there was some plans but nothing came out of it so far. Perhaps potentially a message in it self (ie did we over-engieer the proposed solution?)
Either way, right now I'm busy with other stuff so far as ADLO goes I sort of limit it to support on mailing list and archiving patches on list (if you send an ADLO patch cc me as well so that it get suffed in my personal mailbox too). But I don't touch code at present time.
as for timing isuses you may want to play with ide driver. It hangs before hitting IDE code. Video is not initialized.
Weird.
Perhaps u can try playing with port-80?
maybe it is keyboard?
On Thu, May 15, 2003 at 03:49:30AM -0400, Adam Sulmicki wrote:
video bios is copyrighted. we can't collect/distribute those. I belive.
I knew that, and I'm talking about lines like these from Makefile:
25 VIDEO64W=video/video.bios-WINFAST64kb.bin 26 VIDEO64M= 27 VIDEO64P=video/video.bios-P6STMT-64kb.bin
39 build: loader.o bios 40 cat ${ELF129} ${LOADER} ${PIRQ_M} ${BIOS_B} ${VIDEO64P} > ${PAYLOAD}
I call this hardcode. Although it is trivial to adapt those lines to a specific board (that's almost all in patch), I don't think this the right way to do things.
which shadow ON/OFF code to include, etc.
Well the idea was to move all motherboard-dependant stuff into LinuxBIOS and and leave ADLO motherboard-independent. After all, we are talking here only about control of shadow ram and that's about it.
My patch enables shadow RAM in LinuxBIOS, and doesn't touch those registers in ADLO at all.
as for timing isuses you may want to play with ide driver. It hangs before hitting IDE code. Video is not initialized.
Weird.
Perhaps u can try playing with port-80?
maybe it is keyboard?
I don't have a POST card, and connecting or disconnecting keyboard doesn't help.
Probably LinuxBIOS enables cache on my shadow RAM area, and it might be a cache problem.
-- Takeshi