diff options
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed/sgpe')
4 files changed, 112 insertions, 5 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_main.C b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_main.C index dce81d17..d9b6a539 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_main.C +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_main.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HCODE Project */ /* */ -/* COPYRIGHT 2015,2018 */ +/* COPYRIGHT 2015,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -28,7 +28,8 @@ #include "occhw_shared_data.h" #include "p9_hcd_memmap_occ_sram.H" #include "p9_hcd_memmap_base.H" - +#include "p9_hcd_occ_errldefs.h" +#include "p9_hcd_errldefs.h" //We define a global literal for these register addresses ////This way compiler put them in .sdata area, and the address @@ -184,7 +185,7 @@ main(int argc, char** argv) #elif (CUMULUS_DD_LEVEL != 0) #define PVR_CONST (0x42090800 | (((CUMULUS_DD_LEVEL ) / 10) << 8) | (CUMULUS_DD_LEVEL % 10)) #elif (AXONE_DD_LEVEL != 0) -#define PVR_CONST (0x42091000 | (((AXONE_DD_LEVEL ) / 10) << 8) | (AXONE_DD_LEVEL % 10)) +#define PVR_CONST (0x42090000 | (((AXONE_DD_LEVEL ) / 10) << 8) | (AXONE_DD_LEVEL % 10)) #else #define PVR_CONST 0 #endif @@ -222,6 +223,7 @@ main(int argc, char** argv) PK_PANIC(SGPE_MAIN_FAPI2_INIT_FAILED); } + initErrLogging ((uint8_t) ERRL_SOURCE_XGPE); p9_sgpe_stop_init(); // Initialize the thread control block for G_p9_sgpe_stop_enter_thread @@ -258,6 +260,7 @@ main(int argc, char** argv) OSD_PTR->occ_comp_shr_data.gpe3_data.gpe3_image_header_addr = OCC_SRAM_SGPE_BASE_ADDR + SGPE_HEADER_IMAGE_OFFSET; OSD_PTR->occ_comp_shr_data.gpe3_data.gpe3_debug_header_addr = OCC_SRAM_SGPE_BASE_ADDR + SGPE_DEBUG_PTRS_OFFSET; + // Start running the highest priority thread. // This function never returns pk_start_threads(); diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c index 0a691912..70aabe8b 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HCODE Project */ /* */ -/* COPYRIGHT 2015,2018 */ +/* COPYRIGHT 2015,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -71,6 +71,7 @@ SgpeStopRecord G_sgpe_stop_record __attribute__((section (".dump_ptrs"))) = {{0, 0, 0}} }; +extern uint32_t G_pib_reset_flag; void @@ -78,6 +79,8 @@ p9_sgpe_fit_handler() { PK_TRACE("FIT: Handler Fired"); + PK_TRACE_DBG("IPB reset flag value %x", G_pib_reset_flag); + G_pib_reset_flag = 0; uint32_t tpending = in32(G_OCB_OPIT0PRA) | in32(G_OCB_OPIT3PRA) | in32(G_OCB_OPIT6PRB); diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/pk_app_cfg.h b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/pk_app_cfg.h index d087066b..c4adedec 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/pk_app_cfg.h +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/pk_app_cfg.h @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HCODE Project */ /* */ -/* COPYRIGHT 2015,2018 */ +/* COPYRIGHT 2015,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -156,4 +156,9 @@ /// This file provides platform specific panic codes #define PLATFORM_PANIC_CODES_H "sgpe_panic_codes.h" +#define PK_MACHINE_HANDLER_SUPPORT 1 + +#define PPE42_MACHINE_CHECK_HANDLER \ + b __special_machine_check_handler + #endif /*__PK_APP_CFG_H__*/ diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/stop_gpe_p9a10.mk b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/stop_gpe_p9a10.mk new file mode 100644 index 00000000..d3a889bf --- /dev/null +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/stop_gpe_p9a10.mk @@ -0,0 +1,96 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/stop_gpe_p9a10.mk $ +# +# OpenPOWER HCODE Project +# +# COPYRIGHT 2016,2019 +# [+] International Business Machines Corp. +# +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. +# +# IBM_PROLOG_END_TAG +# +## IMAGE=qpmr_header +## +## # Target tool chain +## $(IMAGE)_TARGET=PPE +## +## #linkscript to use +## $(IMAGE)_LINK_SCRIPT=linkqpmr.cmd +## +## OBJS = p9_sgpe_qpmr.o +## $(call BUILD_BINHEADER) + +STOP_TARGET := stop_gpe_p9a10 +IMAGE := $(STOP_TARGET) + + +# Note: Flags are resolved very late, +# so local variables can't be used to build them + +# Options for Platforms specific tuning + +$(IMAGE)_COMMONFLAGS+= -DNIMBUS_DD_LEVEL=0 +$(IMAGE)_COMMONFLAGS+= -DCUMULUS_DD_LEVEL=0 +$(IMAGE)_COMMONFLAGS+= -DAXONE_DD_LEVEL=10 + +$(IMAGE)_COMMONFLAGS+= -DLAB_P9_TUNING=0 + +$(IMAGE)_COMMONFLAGS+= -DEPM_P9_TUNING=0 +$(IMAGE)_COMMONFLAGS+= -DEPM_BROADSIDE_SCAN0=0 + +$(IMAGE)_COMMONFLAGS+= -DSIMICS_TUNING=0 +$(IMAGE)_COMMONFLAGS+= -DUSE_SIMICS_IO=0 + + +include $(SGPE_SRCDIR)/stop_gpe/stop_common.mk +$(IMAGE)_COMMONFLAGS += $(STOP_COMMONFLAGS) +OBJS := $(STOP_OBJS) + +$(call BUILD_PPEIMAGE) + +# QPMR header edit: +IMAGE=qpmr_header_p9a10 +IMAGE_EDITOR=stop_gpeImgEdit.exe + +# Target tool chain +$(IMAGE)_TARGET=PPE + +#linkscript to use +$(IMAGE)_LINK_SCRIPT=linkqpmr.cmd + +OBJS = p9_sgpe_qpmr.o + + +$(call ADD_BINHEADER_INCDIR,$(IMAGE),\ + $(PK_SRCDIR)/kernel \ + $(PK_SRCDIR)/ppe42 \ + $(PK_SRCDIR)/trace \ + $(PK_SRCDIR)/$(_PPE_TYPE) \ + $(PM_LIBDIR)/include \ + $(PM_LIBDIR)/include/registers \ + $(PM_LIBDIR)/common \ + $(PM_LIBDIR)/occlib \ + $(HCODE_LIBDIR) \ + $(HCODE_COMMON_LIBDIR) \ + $(HCODE_UTILS_INCDIR) \ + $(ROOTPATH)/chips/p9/procedures/hwp/lib/ \ + $(ROOTPATH)/chips/p9/utils/imageProcs/ \ + ) +gitsha := $(shell git log -1 --pretty=format:"%h") +$(call BUILD_BINHEADER,$(IMAGEPATH)/$(STOP_TARGET)/$(STOP_TARGET).bin, \ + $(gitsha)) + |