summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/common
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2016-10-24 15:08:25 -0500
committerJoshua Hunsberger <jahunsbe@us.ibm.com>2017-10-23 16:38:13 -0500
commitc98e02bd54fc973304da43be6c95d5126e395de9 (patch)
tree9051988d9aad1c72f193bfc9a8a47380f4d3c929 /import/chips/p9/common
parentbc4d37d69cbc763b40b6d0c3dc023d265e28b0e3 (diff)
downloadtalos-hcode-c98e02bd54fc973304da43be6c95d5126e395de9.tar.gz
talos-hcode-c98e02bd54fc973304da43be6c95d5126e395de9.zip
PM Register Headers: fix deleting PMC registers in occhw and pba
Change-Id: Ib917fd58ebbea5ff8fe09cdfb582d424f12aa49c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31744 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: RAHUL BATRA <rbatra@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import/chips/p9/common')
-rw-r--r--import/chips/p9/common/pmlib/include/registers/gpe_firmware_registers.h674
-rw-r--r--import/chips/p9/common/pmlib/include/registers/pba_firmware_registers.h2
-rw-r--r--import/chips/p9/common/pmlib/ppc405lib/string_stream.c6
3 files changed, 518 insertions, 164 deletions
diff --git a/import/chips/p9/common/pmlib/include/registers/gpe_firmware_registers.h b/import/chips/p9/common/pmlib/include/registers/gpe_firmware_registers.h
index ac2e709e..ec08984a 100644
--- a/import/chips/p9/common/pmlib/include/registers/gpe_firmware_registers.h
+++ b/import/chips/p9/common/pmlib/include/registers/gpe_firmware_registers.h
@@ -48,17 +48,27 @@
typedef union gpe_gpentsel
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t fit_sel : 4;
- uint32_t watchdog_sel : 4;
- uint32_t reserved1 : 24;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t reserved1 : 24;
- uint32_t watchdog_sel : 4;
- uint32_t fit_sel : 4;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t fit_sel : 4;
+ uint64_t watchdog_sel : 4;
+ uint64_t reserved1 : 56;
+#else
+ uint64_t reserved1 : 56;
+ uint64_t watchdog_sel : 4;
+ uint64_t fit_sel : 4;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpentsel_t;
@@ -68,15 +78,25 @@ typedef union gpe_gpentsel
typedef union gpe_gpenivpr
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t ivpr : 23;
- uint32_t reserved1 : 9;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t reserved1 : 9;
- uint32_t ivpr : 23;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t ivpr : 23;
+ uint64_t reserved1 : 41;
+#else
+ uint64_t reserved1 : 41;
+ uint64_t ivpr : 23;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenivpr_t;
@@ -86,45 +106,47 @@ typedef union gpe_gpenivpr
typedef union gpe_gpendbg
{
- uint32_t value;
- struct
- {
-#ifdef _BIG_ENDIAN
- uint32_t en_dbg : 1;
- uint32_t halt_on_xstop : 1;
- uint32_t halt_on_trig : 1;
- uint32_t reserved3 : 1;
- uint32_t en_intr_addr : 1;
- uint32_t en_trace_extra : 1;
- uint32_t en_trace_stall : 1;
- uint32_t en_wait_cycles : 1;
- uint32_t en_full_speed : 1;
- uint32_t reserved9 : 1;
- uint32_t trace_mode_sel : 2;
- uint32_t reserved12_15 : 4;
- uint32_t fir_trigger : 1;
- uint32_t spare : 3;
- uint32_t trace_data_sel : 4;
- uint32_t halt_input : 1;
- uint32_t reserved1 : 7;
-#else
- uint32_t reserved1 : 7;
- uint32_t halt_input : 1;
- uint32_t trace_data_sel : 4;
- uint32_t spare : 3;
- uint32_t fir_trigger : 1;
- uint32_t reserved12_15 : 4;
- uint32_t trace_mode_sel : 2;
- uint32_t reserved9 : 1;
- uint32_t en_full_speed : 1;
- uint32_t en_wait_cycles : 1;
- uint32_t en_trace_stall : 1;
- uint32_t en_trace_extra : 1;
- uint32_t en_intr_addr : 1;
- uint32_t reserved3 : 1;
- uint32_t halt_on_trig : 1;
- uint32_t halt_on_xstop : 1;
- uint32_t en_dbg : 1;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t en_dbg : 1;
+ uint64_t halt_on_xstop : 1;
+ uint64_t halt_on_trig : 1;
+ uint64_t en_risctrace : 1;
+ uint64_t en_trace_full_iva : 1;
+ uint64_t dis_trace_extra : 1;
+ uint64_t dis_trace_stall : 1;
+ uint64_t en_wide_trace : 1;
+ uint64_t sync_timer_sel : 4;
+ uint64_t fir_trigger : 1;
+ uint64_t spare : 3;
+ uint64_t halt_input : 1;
+ uint64_t reserved1 : 47;
+#else
+ uint64_t reserved1 : 47;
+ uint64_t halt_input : 1;
+ uint64_t spare : 3;
+ uint64_t fir_trigger : 1;
+ uint64_t sync_timer_sel : 4;
+ uint64_t en_wide_trace : 1;
+ uint64_t dis_trace_stall : 1;
+ uint64_t dis_trace_extra : 1;
+ uint64_t en_trace_full_iva : 1;
+ uint64_t en_risctrace : 1;
+ uint64_t halt_on_trig : 1;
+ uint64_t halt_on_xstop : 1;
+ uint64_t en_dbg : 1;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpendbg_t;
@@ -134,19 +156,31 @@ typedef union gpe_gpendbg
typedef union gpe_gpenstr
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t reserved1 : 12;
- uint32_t pbase : 10;
- uint32_t reserved2 : 7;
- uint32_t size : 3;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t size : 3;
- uint32_t reserved2 : 7;
- uint32_t pbase : 10;
- uint32_t reserved1 : 12;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t reserved1 : 12;
+ uint64_t pbase : 10;
+ uint64_t reserved2 : 7;
+ uint64_t size : 3;
+ uint64_t reserved3 : 32;
+#else
+ uint64_t reserved3 : 32;
+ uint64_t size : 3;
+ uint64_t reserved2 : 7;
+ uint64_t pbase : 10;
+ uint64_t reserved1 : 12;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenstr_t;
@@ -156,25 +190,35 @@ typedef union gpe_gpenstr
typedef union gpe_gpenmacr
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t mem_low_priority : 2;
- uint32_t mem_high_priority : 2;
- uint32_t local_low_priority : 2;
- uint32_t local_high_priority : 2;
- uint32_t sram_low_priority : 2;
- uint32_t sram_high_priority : 2;
- uint32_t reserved1 : 20;
+ uint64_t mem_low_priority : 2;
+ uint64_t mem_high_priority : 2;
+ uint64_t local_low_priority : 2;
+ uint64_t local_high_priority : 2;
+ uint64_t sram_low_priority : 2;
+ uint64_t sram_high_priority : 2;
+ uint64_t reserved1 : 52;
#else
- uint32_t reserved1 : 20;
- uint32_t sram_high_priority : 2;
- uint32_t sram_low_priority : 2;
- uint32_t local_high_priority : 2;
- uint32_t local_low_priority : 2;
- uint32_t mem_high_priority : 2;
- uint32_t mem_low_priority : 2;
+ uint64_t reserved1 : 52;
+ uint64_t sram_high_priority : 2;
+ uint64_t sram_low_priority : 2;
+ uint64_t local_high_priority : 2;
+ uint64_t local_low_priority : 2;
+ uint64_t mem_high_priority : 2;
+ uint64_t mem_low_priority : 2;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenmacr_t;
@@ -184,13 +228,25 @@ typedef union gpe_gpenmacr
typedef union gpe_gpenxixcr
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t xcr : 32;
+ uint64_t xcr : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t xcr : 32;
+ uint64_t reserved1 : 32;
+ uint64_t xcr : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxixcr_t;
@@ -200,13 +256,25 @@ typedef union gpe_gpenxixcr
typedef union gpe_gpenxiramra
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t xcr : 32;
+ uint64_t xcr : 32;
+ uint64_t sprg0 : 32;
#else
- uint32_t xcr : 32;
+ uint64_t sprg0 : 32;
+ uint64_t xcr : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiramra_t;
@@ -216,13 +284,25 @@ typedef union gpe_gpenxiramra
typedef union gpe_gpenxiramga
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t ir : 32;
+ uint64_t ir : 32;
+ uint64_t sprg0 : 32;
#else
- uint32_t ir : 32;
+ uint64_t sprg0 : 32;
+ uint64_t ir : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiramga_t;
@@ -232,13 +312,25 @@ typedef union gpe_gpenxiramga
typedef union gpe_gpenxiramdbg
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t xsr : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t xsr : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t xsr : 32;
+ uint64_t sprg0 : 32;
+#else
+ uint64_t sprg0 : 32;
+ uint64_t xsr : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiramdbg_t;
@@ -248,13 +340,25 @@ typedef union gpe_gpenxiramdbg
typedef union gpe_gpenxiramedr
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t ir : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t ir : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t ir : 32;
+ uint64_t edr : 32;
+#else
+ uint64_t edr : 32;
+ uint64_t ir : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiramedr_t;
@@ -264,13 +368,25 @@ typedef union gpe_gpenxiramedr
typedef union gpe_gpenxidbgpro
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t xsr : 32;
+ uint64_t xsr : 32;
+ uint64_t iar : 32;
#else
- uint32_t xsr : 32;
+ uint64_t iar : 32;
+ uint64_t xsr : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxidbgpro_t;
@@ -280,13 +396,23 @@ typedef union gpe_gpenxidbgpro
typedef union gpe_gpenxisib
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t pib_addr : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t pib_addr : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t sib_info : 64;
+#else
+ uint64_t sib_info : 64;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxisib_t;
@@ -296,13 +422,23 @@ typedef union gpe_gpenxisib
typedef union gpe_gpenximem
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t mem_addr : 32;
+ uint64_t memory_info : 64;
#else
- uint32_t mem_addr : 32;
+ uint64_t memory_info : 64;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenximem_t;
@@ -312,13 +448,23 @@ typedef union gpe_gpenximem
typedef union gpe_gpenxisgb
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t store_address : 32;
+ uint64_t storegatherbuffer_info : 64;
#else
- uint32_t store_address : 32;
+ uint64_t storegatherbuffer_info : 64;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxisgb_t;
@@ -328,15 +474,23 @@ typedef union gpe_gpenxisgb
typedef union gpe_gpenxiicac
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t icache_tag_addr : 27;
- uint32_t reserved : 5;
+ uint64_t icache_info : 64;
#else
- uint32_t reserved : 5;
- uint32_t icache_tag_addr : 27;
+ uint64_t icache_info : 64;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiicac_t;
@@ -346,15 +500,23 @@ typedef union gpe_gpenxiicac
typedef union gpe_gpenxidcac
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t dcache_tag_addr : 27;
- uint32_t reserved : 5;
+ uint64_t dcache_info : 64;
#else
- uint32_t reserved : 5;
- uint32_t dcache_tag_addr : 27;
+ uint64_t dcache_info : 64;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxidcac_t;
@@ -364,13 +526,25 @@ typedef union gpe_gpenxidcac
typedef union gpe_gpenoxixcr
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t xcr : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t xcr : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t xcr : 32;
+ uint64_t reserved1 : 32;
+#else
+ uint64_t reserved1 : 32;
+ uint64_t xcr : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenoxixcr_t;
@@ -380,13 +554,25 @@ typedef union gpe_gpenoxixcr
typedef union gpe_gpenxixsr
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t xsr : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t xsr : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t xsr : 32;
+ uint64_t reserved1 : 32;
+#else
+ uint64_t reserved1 : 32;
+ uint64_t xsr : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxixsr_t;
@@ -396,13 +582,25 @@ typedef union gpe_gpenxixsr
typedef union gpe_gpenxisprg0
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t sprg0 : 32;
+ uint64_t sprg0 : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t sprg0 : 32;
+ uint64_t reserved1 : 32;
+ uint64_t sprg0 : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxisprg0_t;
@@ -412,13 +610,25 @@ typedef union gpe_gpenxisprg0
typedef union gpe_gpenxiedr
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t edr : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t edr : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t edr : 32;
+ uint64_t reserved1 : 32;
+#else
+ uint64_t reserved1 : 32;
+ uint64_t edr : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiedr_t;
@@ -428,13 +638,25 @@ typedef union gpe_gpenxiedr
typedef union gpe_gpenxiir
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t ir : 32;
+ uint64_t ir : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t ir : 32;
+ uint64_t reserved1 : 32;
+ uint64_t ir : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiir_t;
@@ -444,13 +666,25 @@ typedef union gpe_gpenxiir
typedef union gpe_gpenxiiar
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t iar : 32;
+ uint64_t iar : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t iar : 32;
+ uint64_t reserved1 : 32;
+ uint64_t iar : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiiar_t;
@@ -460,13 +694,25 @@ typedef union gpe_gpenxiiar
typedef union gpe_gpenxisibu
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t sib_info_upper : 32;
+ uint64_t sib_info_upper : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t sib_info_upper : 32;
+ uint64_t reserved1 : 32;
+ uint64_t sib_info_upper : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxisibu_t;
@@ -476,13 +722,25 @@ typedef union gpe_gpenxisibu
typedef union gpe_gpenxisibl
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t sib_info_lower : 32;
+ uint64_t sib_info_lower : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t sib_info_lower : 32;
+ uint64_t reserved1 : 32;
+ uint64_t sib_info_lower : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxisibl_t;
@@ -492,13 +750,25 @@ typedef union gpe_gpenxisibl
typedef union gpe_gpenximemu
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t memory_info_upper : 32;
+ uint64_t memory_info_upper : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t memory_info_upper : 32;
+ uint64_t reserved1 : 32;
+ uint64_t memory_info_upper : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenximemu_t;
@@ -508,13 +778,25 @@ typedef union gpe_gpenximemu
typedef union gpe_gpenximeml
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t memory_info_lower : 32;
+ uint64_t memory_info_lower : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t memory_info_lower : 32;
+ uint64_t reserved1 : 32;
+ uint64_t memory_info_lower : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenximeml_t;
@@ -524,13 +806,25 @@ typedef union gpe_gpenximeml
typedef union gpe_gpenxisgbu
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t sgb_info_upper : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t sgb_info_upper : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t sgb_info_upper : 32;
+ uint64_t reserved1 : 32;
+#else
+ uint64_t reserved1 : 32;
+ uint64_t sgb_info_upper : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxisgbu_t;
@@ -540,13 +834,25 @@ typedef union gpe_gpenxisgbu
typedef union gpe_gpenxisgbl
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t sgb_info_lower : 32;
+ uint64_t sgb_info_lower : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t sgb_info_lower : 32;
+ uint64_t reserved1 : 32;
+ uint64_t sgb_info_lower : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxisgbl_t;
@@ -556,13 +862,25 @@ typedef union gpe_gpenxisgbl
typedef union gpe_gpenxiicacu
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t icache_info_upper : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t icache_info_upper : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t icache_info_upper : 32;
+ uint64_t reserved1 : 32;
+#else
+ uint64_t reserved1 : 32;
+ uint64_t icache_info_upper : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiicacu_t;
@@ -572,13 +890,25 @@ typedef union gpe_gpenxiicacu
typedef union gpe_gpenxiicacl
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t icache_info_lower : 32;
+ uint64_t icache_info_lower : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t icache_info_lower : 32;
+ uint64_t reserved1 : 32;
+ uint64_t icache_info_lower : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxiicacl_t;
@@ -588,13 +918,25 @@ typedef union gpe_gpenxiicacl
typedef union gpe_gpenxidcacu
{
- uint32_t value;
+ uint64_t value;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t dcache_info_upper : 32;
+ uint32_t high_order;
+ uint32_t low_order;
#else
- uint32_t dcache_info_upper : 32;
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint64_t dcache_info_upper : 32;
+ uint64_t reserved1 : 32;
+#else
+ uint64_t reserved1 : 32;
+ uint64_t dcache_info_upper : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxidcacu_t;
@@ -604,13 +946,25 @@ typedef union gpe_gpenxidcacu
typedef union gpe_gpenxidcacl
{
- uint32_t value;
+ uint64_t value;
+ struct
+ {
+#ifdef _BIG_ENDIAN
+ uint32_t high_order;
+ uint32_t low_order;
+#else
+ uint32_t low_order;
+ uint32_t high_order;
+#endif // _BIG_ENDIAN
+ } words;
struct
{
#ifdef _BIG_ENDIAN
- uint32_t dcache_info_lower : 32;
+ uint64_t dcache_info_lower : 32;
+ uint64_t reserved1 : 32;
#else
- uint32_t dcache_info_lower : 32;
+ uint64_t reserved1 : 32;
+ uint64_t dcache_info_lower : 32;
#endif // _BIG_ENDIAN
} fields;
} gpe_gpenxidcacl_t;
diff --git a/import/chips/p9/common/pmlib/include/registers/pba_firmware_registers.h b/import/chips/p9/common/pmlib/include/registers/pba_firmware_registers.h
index 909f3df1..652a3acb 100644
--- a/import/chips/p9/common/pmlib/include/registers/pba_firmware_registers.h
+++ b/import/chips/p9/common/pmlib/include/registers/pba_firmware_registers.h
@@ -41,7 +41,7 @@
#ifndef __ASSEMBLER__
#include <stdint.h>
-
+#include "pba_firmware_constants.h"
diff --git a/import/chips/p9/common/pmlib/ppc405lib/string_stream.c b/import/chips/p9/common/pmlib/ppc405lib/string_stream.c
index 6bbf9b43..65557648 100644
--- a/import/chips/p9/common/pmlib/ppc405lib/string_stream.c
+++ b/import/chips/p9/common/pmlib/ppc405lib/string_stream.c
@@ -326,7 +326,7 @@ linear_swrite(FILE* stream, const void* buf, size_t size, size_t* written)
//if (wrote != size) {
- // register_contents = in32(PMC_PORE_SCRATCH_REG1);
+ // register_contents = in32(OCB_OCCS1);
// register_contents = register_contents & bit_0_mask;
//if (!register_contents) {
@@ -350,7 +350,7 @@ linear_swrite(FILE* stream, const void* buf, size_t size, size_t* written)
// Set bit 0 to 1
// out32(addr, data)
num_bytes_written = (uint32_t)wrote | bit_0_mask;
- out32( PMC_PORE_SCRATCH_REG1 , num_bytes_written );
+ out32(OCB_OCCS1 , num_bytes_written );
// Sync
eieio();
@@ -430,7 +430,7 @@ linear_stream_create(CircularStream* stream,
file->sread = NULL;
// Write to register where location of buffer is
- out32( PMC_PORE_SCRATCH_REG1, (uint32_t)buf);
+ out32(OCB_OCCS1, (uint32_t)buf);
}
return rc;
OpenPOWER on IntegriCloud