[OpenPOWER-HDL-Cores] microwatt xics

Michael Neuling mikey at neuling.org
Wed Jul 29 00:18:47 UTC 2020

On Wed, 2020-07-29 at 10:05 +1000, Benjamin Herrenschmidt wrote:
> On Tue, 2020-07-28 at 10:43 +0100, Luke Kenneth Casson Leighton wrote:
> > btw folks i am having difficulty finding specification documentation
> > for XICS.  the top hits are linux kernel source code (no references
> > to
> > source TRMs), qemu (documented and explained in the context of qemu
> > but no references to source TRMs), and so on.
> > 
> > i appreciate that most of you have been working with POWER for
> > decades, however with the design remit being "nothing goes into
> > libre-soc without a proper unit test (and formal proof)" that's a
> > little challenging to do when specs are hard to find :)
> > 
> > i'll keep writing the unit test based on the (now converted)
> > xics.vhdl
> > - in the meantime, anyone know where i can find the XICS specs?  i'll
> > then make sure it's listed in the source code and the documentation
> > so
> > that other people can also easily find it.
> There is no good spec that I'm aware of sadly, and xics.vhdl is a very
> very minimum hack at this point, lacking some important things such as
> support for edge interrupts, proper routing, etc...
> I remember some reasonable spec of the presentation part in the PAPR
> architecture but I think that didn't make it to LoPAPR. The source part
> is very implementation specific and hidden behind firmware layers in
> practice. For microwatt I've hacked up a reasonable "simple" direct
> MMIO interface along with a linux driver for it, but there is no real
> architecture doc available that I know of.

Yeah I was just look at LoPAPR and it's not there

It does have some descriptions of the HCALLs which are a almost 1:1 match to the
hardware but it doesn't have the hardware description.

The qemu code is a good reference in ./hw/intc/xics*.c

> I can try writing something up at some point that you could use as a
> basis, but I'm a bit short on spare time at the moment.

Yeah, that might be needed to give a starting overview for Luke.


More information about the OpenPOWER-HDL-Cores mailing list