Skip to content

Commit

Permalink
rt_xstop_analysis: compile all of firdata on gpe0
Browse files Browse the repository at this point in the history
Change-Id: I804cdf63879a2b80c9e14149e45ee665240c4a88
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43244
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com>
Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
  • Loading branch information
Prachi Gupta authored and wilbryan committed Jul 21, 2017
1 parent f301809 commit cbedccf
Show file tree
Hide file tree
Showing 31 changed files with 149 additions and 592 deletions.
15 changes: 14 additions & 1 deletion src/common/gpe_export.h
Expand Up @@ -60,7 +60,20 @@ typedef struct gpe_shared_data
{
uint32_t nest_freq_div; // Nest freq / 4
uint32_t spipss_spec_p9; // Which APSS spec to use
uint32_t reserved[62];
uint32_t fir_heap_buffer_ptr;
uint32_t fir_params_buffer_ptr;
uint32_t reserved[60];
} gpe_shared_data_t;


#define HOMER_FIR_PARM_SIZE (3 * 1024)

/* This size has to agree with the size _FIR_PARMS_SECTION_SIZE defined in the */
/* OCC linker command file. */
#define FIR_PARMS_SECTION_SIZE 0x1000

// This size has to agree with the size _FIR_HEAP_SECTION_SIZE defined in the
// OCC linker command file.
#define FIR_HEAP_SECTION_SIZE 0x3000

#endif //_GPE_EXPORT_H
1 change: 0 additions & 1 deletion src/occ_405/cmdh/cmdh_fsp.c
Expand Up @@ -36,7 +36,6 @@
#include "cmdh_mnfg_intf.h"
#include "cmdh_tunable_parms.h"
#include "cmdh_snapshot.h"
#include "scom.h"
#include "homer.h"

// OCB Channel Setup Defines
Expand Down
1 change: 0 additions & 1 deletion src/occ_405/dcom/dcom.c
Expand Up @@ -39,7 +39,6 @@
#include <proc_pstate.h>
#include <amec_data.h>
#include <amec_sys.h>
#include "scom.h"
#include "pss_constants.h"

extern uint8_t G_occ_interrupt_type;
Expand Down
9 changes: 9 additions & 0 deletions src/occ_405/homer.h
Expand Up @@ -67,6 +67,15 @@
#define PPMR_OFFSET_HOMER 0x00300000 // PPMR image HOMER offset
#define PPMR_ADDRESS_HOMER (HOMER_BASE_ADDRESS+PPMR_OFFSET_HOMER) // PPMR image memory address

extern uint32_t G_fir_master;
#define OCC_SET_FIR_MASTER(_fm_t) (G_fir_master = _fm_t)
#define OCC_IS_FIR_MASTER() ((G_fir_master == FIR_OCC_IS_FIR_MASTER) ? TRUE : FALSE)

enum fir_master
{
FIR_OCC_NOT_FIR_MASTER = 0x00000000,
FIR_OCC_IS_FIR_MASTER = 0x00000001
};

// Version(s) of HOMER host data currently supported
typedef enum homer_version
Expand Down
1 change: 0 additions & 1 deletion src/occ_405/img_defs.mk
Expand Up @@ -234,7 +234,6 @@ APP_INCLUDES = -I$(IMAGE_SRCDIR)/rtls \
-I$(IMAGE_SRCDIR)/dcom \
-I$(IMAGE_SRCDIR)/amec \
-I$(IMAGE_SRCDIR)/cent \
-I$(IMAGE_SRCDIR)/firdata \
-I$(IMAGE_SRCDIR)/dimm \
-I$(IMAGE_SRCDIR)/mem \
-I$(IMAGE_SRCDIR)/lock \
Expand Down
16 changes: 10 additions & 6 deletions src/occ_405/main.c
Expand Up @@ -52,8 +52,6 @@
#include <homer.h>
#include <amec_health.h>
#include <amec_freq.h>
#include "scom.h"
#include <fir_data_collect.h>
#include <pss_service_codes.h>
#include <dimm.h>
#include "occhw_shared_data.h"
Expand All @@ -62,11 +60,7 @@
#include <p9_pstates_occ.h>
#include <wof.h>
#include "pgpe_service_codes.h"
#include <native.h>
#include <ast_mboxdd.h>
#include <pnor_mboxdd.h>
#include <common.h>
pnorMbox_t l_pnorMbox;

extern uint32_t __ssx_boot; // Function address is 32 bits
extern uint32_t G_occ_phantom_critical_count;
Expand Down Expand Up @@ -154,6 +148,11 @@ void create_tlb_entry(uint32_t address, uint32_t size);
//mode interrupt handler
SSX_IRQ_FAST2FULL(pmc_hw_error_fast, pmc_hw_error_isr);


FIR_HEAP_BUFFER(uint8_t G_fir_heap[FIR_HEAP_SECTION_SIZE]);
FIR_PARMS_BUFFER(uint8_t G_fir_data_parms[FIR_PARMS_SECTION_SIZE]);
uint32_t G_fir_master = FIR_OCC_NOT_FIR_MASTER;

/*
* Function Specification
*
Expand Down Expand Up @@ -2062,6 +2061,7 @@ int main(int argc, char **argv)
homer_log_access_error(l_homerrc,
l_ssxrc,
l_occ_int_type);

// Get the FIR Master indicator
uint32_t l_fir_master = FIR_OCC_NOT_FIR_MASTER;
l_homerrc = homer_hd_map_read_unmap(HOMER_FIR_MASTER,
Expand Down Expand Up @@ -2104,6 +2104,10 @@ int main(int argc, char **argv)
(uint32_t)&G_fir_data_parms[0]);
}

//Set the fir_heap and fir_params pointer in the shared buffer
G_shared_gpe_data.fir_heap_buffer_ptr = (uint32_t)G_fir_heap;
G_shared_gpe_data.fir_params_buffer_ptr = (uint32_t)G_fir_data_parms;

//TODO: RTC 134619: Currently causes an SSX Panic due to SSX believing the
// interrupt is not owned by the 405. The fix is to update
// both occhw_interrupts.h and ssx_app_cfg.h. The change
Expand Down
15 changes: 1 addition & 14 deletions src/occ_405/occLinkInputFile
Expand Up @@ -18,7 +18,6 @@ INPUT ( amec_amester.o
amec_slave_smh.o
amec_tasks.o
apss.o
ast_mboxdd.o
avsbus.o
centaur_control.o
centaur_data.o
Expand All @@ -45,7 +44,6 @@ INPUT ( amec_amester.o
ffdc.o
homer.o
ll_ffdc.o
lpc.o
lock.o
main.o
memory.o
Expand All @@ -63,7 +61,6 @@ INPUT ( amec_amester.o
occhw_ocb.o
occhw_pba.o
pgpe_interface.o
pnor_mboxdd.o
ppc405_boot.o
ppc405_breakpoint.o
ppc405_cache_core.o
Expand All @@ -82,7 +79,6 @@ INPUT ( amec_amester.o
reset.o
rtls_tables.o
rtls.o
scom.o
sensor_inband_cmd.o
sensor_info.o
sensor_main_memory.o
Expand All @@ -102,13 +98,4 @@ INPUT ( amec_amester.o
threadSch.o
timer.o
trac_interface.o
wof.o
firData.o
fir_data_collect.o
fsi.o
native.o
pnor_util.o
scom_trgt.o
scom_util.o
scom_addr_util.o
sbe_fifo.o)
wof.o)
1 change: 0 additions & 1 deletion src/occ_405/proc/proc_pstate.c
Expand Up @@ -34,7 +34,6 @@
#include "cmdh_fsp_cmds.h"
#include "proc_data.h"
#include "proc_pstate.h"
#include "scom.h"
#include "homer.h"
#include <amec_freq.h>
#include <common.h>
Expand Down
185 changes: 0 additions & 185 deletions src/occ_405/scom.c

This file was deleted.

41 changes: 0 additions & 41 deletions src/occ_405/scom.h

This file was deleted.

0 comments on commit cbedccf

Please sign in to comment.