[LinuxBIOS] Geode GX1/5530: How to forward SMI to a regular IRQ

Juergen Beisert juergen127 at kreuzholzen.de
Wed Aug 9 18:02:00 CEST 2006

Hi Ollie,

On Wednesday 09 August 2006 17:26, ollie wrote:
> On Tue, 2006-08-08 at 20:53 +0200, Juergen Beisert wrote:
> > > BTW, how "native" is your driver? Do you rd/wrmsr all the operations?
> >
> > rd/wrmsr? What does it mean?
> >
> > I am using the native PCI hardware and its registers only. AC97 works, I
> > can configure the AC97 codec. Only sending/capturing audio data is
> > missing...
> I am sorry that I didn't RTFM but is that there is no physical PCI
> stuff in the GX1 too? Every PCI CS registers are emulated by the
> VSA software. Is the 5530 a real and physical PCI device?

The VSA only emulates a soundblaster. So all accesses to legacy io-space will 
trap if enabled.
I'm working with the PCI registers. There are *physical* registers to 
communicate with the external AC97 codec and to setup the master DMA engines 
(PCI function #3 of the kahlua chip is the audio function). FBAR3 points to 
128 bytes memory mapped register space that I'm using.

$ lspci -v
00:12.3 Multimedia audio controller: Cyrix Corporation 5530 Audio [Kahlua]
        Flags: bus master, medium devsel, latency 0
        Memory at 40011000 (32-bit, non-prefetchable) [size=128]

Offset           Function
00..03 Codec GPOIO Status Register
04..07 Codec GPIO Control Register
08..0B Codec Status Register
0C..0F Codec Command Register
10..11 SMI Status Mirror Register
12..13 SMI Status Register
14..17 SMI Trap Status Register
18..19 SMI Trap-Enable Register
1A..1B IRQ Emulation Enable
1C..1D IRQ Emulation Control
1E..1F IRQ Emulation Mask
20..27 DMA Master 0 engine (Playback)
28..2F DMA Master 1 engine (Capture)
30..3F DMA Master 2 engine (Modem out)
38..3F DMA Master 3 engine (Modem in)
40..47 DMA Master 4 engine (Mono out/Modem handset)
48..4F DMA Master 5 engine (Micro in/Modem handset)
50..7F reserved? (no docu available)


More information about the coreboot mailing list