Page MenuHomeFreeBSD

Enable XIVE XICS emulation mode for POWER9 interrupt controller
AbandonedPublic

Authored by jhibbits on May 6 2018, 9:48 PM.

Details

Summary

To ease transition to the new XIVE interrupt controller on POWER9 systems, IBM
added a XICS emulation mode, using OPAL calls in place of physical device
accesses. Add this capability to the existing XICS/XICP driver as a stopgap
measure before writing a full XIVE native driver.

Test Plan

In progress. Not yet sure if this is a complete implementation, no
external interrupts are currently generated, possibly due to PCI configuration
issues, to resolve separately.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 16461
Build 16380: arc lint + arc unit

Event Timeline

jhibbits created this revision.May 6 2018, 9:48 PM
nwhitehorn added inline comments.May 6 2018, 10:52 PM
sys/powerpc/pseries/xics.c
185

Should we attach at lower priority for opal-xics? It's pretty near the bottom already, but maybe should be adjusted?

230

This needs #ifdef POWERNV.

jhibbits added inline comments.May 7 2018, 12:23 AM
sys/powerpc/pseries/xics.c
185

I think the XIVE driver should instead attach at BUS_PROBE_DEFAULT, a higher priority than this.

230

Woops, fixing.

jhibbits updated this revision to Diff 42217.May 7 2018, 12:42 AM

Address Nathan's comments.

jhibbits planned changes to this revision.May 7 2018, 1:51 PM

Tested with extra printfs last night, and saw no dispatches on IPI, but IPI sends. Something's not quite right yet, so more work is needed.

Hi Justin,

I put some comments regarding OPAL_ definition I was not able to find in this patch and even on the FreeBSD HEAD repository.

sys/powerpc/pseries/xics.c
221

Justin,

I am not able to find the declaration of OPAL_XIVE_RESET. I just rebased my tree, and I still do not find this declaration. The same thing seems to happen with OPAL_INT_GET_XIRR, OPAL_INT_EOI , OPAL_INT_SET_MFRR and OPAL_INT_SET_CPPR.

Where did these definitions come from?

jhibbits updated this revision to Diff 42230.May 7 2018, 2:05 PM

Add the OPAL definitions. There's also some printf debugging in here, which will go away when I figure out what's going wrong.

jhibbits abandoned this revision.May 20 2018, 4:01 AM

Abandoned in favor of D15492