[LinuxBIOS] Epia-M patch
okajima at digitalinfra.co.jp
Fri Oct 28 17:53:55 CEST 2005
Please let me clear ...
1. You mean, in the end, VGA works. Right?
2. If 1 is yes, X server works also? or not tested yet?
3. How much time it takes to boot?
Both in vga enabled and disabled?
Old way of VGA init is slow?
--- Okajima, Jun. Tokyo, Japan.
>I attach a patch file for the Via Epia-m target which makes this target now
>compile and work.
>I have tried to keep all changes local to the directories relevent to this
>However there are 4 files which are modified elsewhere in the sources:
>- devices/cardbus_device.c - which needed another io resource probing -
>comments suggest no-one else is using this anyway
>- include/device/cardbus.h - to include another function definition
>- cpu/via/model_centaur/model_centaur.c - to add more processor id codes and
>to get it to set up mtrr's
>- arch/i386/lib/cpu.c - to conditionally test for SMP & IOAPIC systems -
>this board/processor has no APIC's and would otherwise fail on the call to
>In addition to making it work again, I have added the following
>- Dynamic memory sizing - which has been tested so far with:
>- - 256Mb 1 bank (i.e. single sided)
>- - 256Mb 2 bank (i.e. double sided)
>- - 512Mb 2 bank (i.e. double sided)
>- A minimalist ACPI dsdt table free of any intellectual property and can
>thus be distributed with sources.
>- Compact Flash boot working.
>- I have also written an EPIA-M howto which I have attached seperately.
>Maybe that can get onto the web site.
>Things still not resolved:
>I spent a great deal of time trying to get the vga to initialise through the
>emulator, but I have failed. I feel that I now know the workings of the
>emulator inside out, but it would take a good deal more effort to resolve
>As an interim solution, therefore, I have re-implemented the old real mode
>vga-bios.c which works a treat on this board. To keep the main source tree
>clean of this, it is implemented locally within the mainboard/via/epia-m
>directory, and in a way which does not require any changes to the main
>source tree (e.g. it implements its own temporary gdt's and idt's). Maybe
>one day I shall return to this problem.
>Whilst attempting to get the emulator to work, I had to start using a
>fallback only image for sizing reasons, and this is how the patch is
>configured. Without both real-mode vga and the emulator it may be possible
>to go back to a dual image.
>My original epia-m port set up 2 mtrr's over the vga framebuffer and agp
>bridge as per the Award bios, and this makes a noticeable difference in
>performance. Without changing the current mtrr stuff I see no way of making
>a request for these to be set up, and so this version doesn't attempt to. It
>would be nice to see this sort of functionality return into the core if
>anyone is interested - perhaps as another type of memory resource different
>to main memory and non contiguous from main memory. The type of these mtrr's
>is write combining rather than write back as used for main memory.
>LinuxBIOS mailing list
>LinuxBIOS at openbios.org
More information about the coreboot