From c98e02bd54fc973304da43be6c95d5126e395de9 Mon Sep 17 00:00:00 2001 From: Yue Du Date: Mon, 24 Oct 2016 15:08:25 -0500 Subject: 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 Tested-by: Hostboot CI Reviewed-by: RAHUL BATRA Reviewed-by: Gregory S. Still --- .../include/registers/gpe_firmware_registers.h | 674 ++++++++++++++++----- .../include/registers/pba_firmware_registers.h | 2 +- .../p9/common/pmlib/ppc405lib/string_stream.c | 6 +- 3 files changed, 518 insertions(+), 164 deletions(-) (limited to 'import/chips/p9/common') 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 - +#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; -- cgit v1.2.1