Date: Sat, 19 May 2018 04:01:15 +0000 (UTC) From: Justin Hibbits <jhibbits@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r333836 - head/sys/powerpc/powernv Message-ID: <201805190401.w4J41FBp017135@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhibbits Date: Sat May 19 04:01:15 2018 New Revision: 333836 URL: https://svnweb.freebsd.org/changeset/base/333836 Log: powerpc64: Add OPAL definitions Summary: Add additional OPAL PCI definitions and expand the code to use them in order to ease the OPAL interface process for new comers. These definitions came directly from the OPAL code and they are the same for both PHB3 (POWER8) and PHB4 (POWER9). Submitted by: Breno Leitao Differential Revision: https://reviews.freebsd.org/D15432 Modified: head/sys/powerpc/powernv/opal.h head/sys/powerpc/powernv/opal_pci.c Modified: head/sys/powerpc/powernv/opal.h ============================================================================== --- head/sys/powerpc/powernv/opal.h Sat May 19 03:58:40 2018 (r333835) +++ head/sys/powerpc/powernv/opal.h Sat May 19 04:01:15 2018 (r333836) @@ -79,6 +79,20 @@ int opal_call(uint64_t token, ...); #define OPAL_UNMAP_PE 0 #define OPAL_MAP_PE 1 +#define OPAL_PCI_BUS_ANY 0 +#define OPAL_PCI_BUS_3BITS 2 +#define OPAL_PCI_BUS_4BITS 3 +#define OPAL_PCI_BUS_5BITS 4 +#define OPAL_PCI_BUS_6BITS 5 +#define OPAL_PCI_BUS_7BITS 6 +#define OPAL_PCI_BUS_ALL 7 /* Match bus number exactly */ + +#define OPAL_IGNORE_RID_DEVICE_NUMBER 0 +#define OPAL_COMPARE_RID_DEVICE_NUMBER 1 + +#define OPAL_IGNORE_RID_FUNC_NUMBER 0 +#define OPAL_COMPARE_RID_FUNC_NUMBER 1 + #define OPAL_SUCCESS 0 #define OPAL_PARAMETER -1 #define OPAL_BUSY -2 Modified: head/sys/powerpc/powernv/opal_pci.c ============================================================================== --- head/sys/powerpc/powernv/opal_pci.c Sat May 19 03:58:40 2018 (r333835) +++ head/sys/powerpc/powernv/opal_pci.c Sat May 19 04:01:15 2018 (r333836) @@ -254,8 +254,8 @@ opalpci_attach(device_t dev) * such time as we start wanting to do things like bhyve. */ err = opal_call(OPAL_PCI_SET_PE, sc->phb_id, OPAL_PCI_DEFAULT_PE, - 0, 0, 0, 0, /* All devices */ - OPAL_MAP_PE); + 0, OPAL_PCI_BUS_ANY, OPAL_IGNORE_RID_DEVICE_NUMBER, + OPAL_IGNORE_RID_FUNC_NUMBER, OPAL_MAP_PE); if (err != 0) { device_printf(dev, "PE mapping failed: %d\n", err); return (ENXIO);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805190401.w4J41FBp017135>