diff options
author | Bill Hoffa <wghoffa@us.ibm.com> | 2016-01-13 14:06:31 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-05-06 11:03:22 -0400 |
commit | b42194c6063f64d59fe1c360fa4ae4edd85ad2f3 (patch) | |
tree | b055e27081164600409203f31c3eac93f32397cb /src/include/sys/msg.h | |
parent | daf95f9b2b66313079186c2d8669ffa75155056f (diff) | |
download | talos-hostboot-b42194c6063f64d59fe1c360fa4ae4edd85ad2f3.tar.gz talos-hostboot-b42194c6063f64d59fe1c360fa4ae4edd85ad2f3.zip |
Doorbell Interrupt Base Support for Core/Thread Wakeup
This change includes:
- Implementation of a generic KernelWorkItem Class
- Kernel functionality for doorbell send to specific PIRs
- Kernel changes to send core/thread Wakeup doorbells using
doorbell_send() + placing KernelWorkItems on a cpu stack obj
to be executed during doorbell wakeup
- Kernel Interrupt Message handler changes to send wakeup msgs
- Interrupt Resource Provider (INTRRP) Changes to handle
wakeup msgs and monitor for timeouts
- Changes to the IPL flow to invoke proper Core/Thread Wakeup
- A basic outline (commented out) for how IPC messages can be
implemented in the future
Change-Id: I547fb8719bac657def561565ae11ab18cde72096
CMVC-Prereq: 992722
RTC:137564
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22815
Tested-by: Jenkins Server
Tested-by: FSP CI Jenkins
Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/sys/msg.h')
-rw-r--r-- | src/include/sys/msg.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/include/sys/msg.h b/src/include/sys/msg.h index e55f20665..b161a91e8 100644 --- a/src/include/sys/msg.h +++ b/src/include/sys/msg.h @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2010,2014 */ +/* Contributors Listed Below - COPYRIGHT 2010,2016 */ +/* [+] 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. */ @@ -61,6 +63,8 @@ enum msg_sys_types_t MSG_INTR_EXTERN, //!< Msg sent from kernel to user space on ext intr MSG_INTR_ADD_CPU, //!< Add cpu core, data[0] = cpuid (PIR) + MSG_INTR_CPU_WAKEUP, //!< Msg sent from kernel to user space on cpu wakeup + // data[0] = cpuid (PIR) MSG_INTR_ISSUE_SBE_MBOX_WA, //!< Issue EOI to mailbox }; @@ -119,6 +123,7 @@ enum msg_root_queue_types_t */ + // Message queue interfaces. /** @fn msg_q_create |