diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/kernel/intmsghandler.H | 50 | ||||
-rw-r--r-- | src/include/sys/interrupt.h | 41 | ||||
-rw-r--r-- | src/include/sys/msg.h | 60 | ||||
-rw-r--r-- | src/include/sys/vfs.h | 46 | ||||
-rw-r--r-- | src/include/usr/intr/interrupt.H | 46 |
5 files changed, 107 insertions, 136 deletions
diff --git a/src/include/kernel/intmsghandler.H b/src/include/kernel/intmsghandler.H index 500961668..b4042c950 100644 --- a/src/include/kernel/intmsghandler.H +++ b/src/include/kernel/intmsghandler.H @@ -1,25 +1,25 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/include/kernel/intmsghandler.H $ -// -// IBM CONFIDENTIAL -// -// COPYRIGHT International Business Machines Corp. 2011 -// -// p1 -// -// Object Code Only (OCO) source materials -// Licensed Internal Code Source Materials -// IBM HostBoot Licensed Internal Code -// -// The source code for this program is not published or other- -// wise divested of its trade secrets, irrespective of what has -// been deposited with the U.S. Copyright Office. -// -// Origin: 30 -// -// IBM_PROLOG_END +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/kernel/intmsghandler.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef __KERNEL_INTERRUPTMSGHDLR_H #define __KERNEL_INTERRUPTMSGHDLR_H @@ -75,7 +75,7 @@ class InterruptMsgHdlr : public MessageHandler * Constructor */ InterruptMsgHdlr(MessageQueue * i_msgQ) - : MessageHandler(NULL,i_msgQ) {} // TODO need splinlock? + : MessageHandler(NULL,i_msgQ) {} /** * Destructor. @@ -120,8 +120,9 @@ class InterruptMsgHdlr : public MessageHandler /** * Create the InterruptMsgHdlr to handle external interrupts * @param[in] i_msgQ The message queue + * @param[in] i_ipc_addr The base address of the IPC registers */ - static void create(MessageQueue * i_msgQ); + static void create(MessageQueue * i_msgQ, uint64_t i_ipc_addr); /** * Handle an external interrupt from HW @@ -138,6 +139,7 @@ class InterruptMsgHdlr : public MessageHandler private: static InterruptMsgHdlr * cv_instance; + static uint64_t cv_ipc_base_address; }; diff --git a/src/include/sys/interrupt.h b/src/include/sys/interrupt.h deleted file mode 100644 index 40e0e2bf8..000000000 --- a/src/include/sys/interrupt.h +++ /dev/null @@ -1,41 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/sys/interrupt.h $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2011-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ -#ifndef __INTERRUPT_H -#define __INTERRUPT_H - - -extern const char* INTR_MSGQ; - -/** - * INTR constants - */ -enum -{ - ICPBAR_EN = 30, // BIT 30 - ICPBAR_SCOM_ADDR = 0x020109ca, //!< for P8, P7 = 0x02011C09 - // This BAR value agrees with simics (for now) - ICPBAR_VAL = 0x3FFFF800, //!< ICPBAR value bits[0:29]>>34 -}; - -#endif diff --git a/src/include/sys/msg.h b/src/include/sys/msg.h index 129d0c36b..9fadd8b70 100644 --- a/src/include/sys/msg.h +++ b/src/include/sys/msg.h @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/sys/msg.h $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2010-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/sys/msg.h $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2010,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef __SYS_MSG_H #define __SYS_MSG_H @@ -141,10 +140,23 @@ void msg_q_destroy( msg_q_t q ); * @param[in] q - handle of message queue to name * @param[in] name - name * - * @return Result of msg_sendrecv where zero indicates success + * @return Result of the syscall where zero indicates success */ int msg_q_register(msg_q_t q, const char* name); +/** @fn msg_intr_q_register + * @brief Register the interrupt message queue + * + * @param[in] q - handle of message queue to register + * @param[in] i_ipc_base_addr Is the base MMIO address of the + * IPC register set + * + * @return Result of the syscall where zero indicates success + * < 0 is the ERRNO + */ +int msg_intr_q_register(msg_q_t q, + uint64_t i_ipc_base_addr); + /** @fn msg_q_remove * @brief Remove a message queue from the registry * diff --git a/src/include/sys/vfs.h b/src/include/sys/vfs.h index b4b7da594..224422ffa 100644 --- a/src/include/sys/vfs.h +++ b/src/include/sys/vfs.h @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/sys/vfs.h $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2010-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/sys/vfs.h $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2010,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef __SYS_VFS_H #define __SYS_VFS_H @@ -64,6 +63,7 @@ extern const char* VFS_ROOT_BIN; extern const char* VFS_ROOT_DATA; extern const char* VFS_ROOT_MSG; extern const char* VFS_ROOT_MSG_VFS; +extern const char* VFS_ROOT_MSG_INTR; enum VfsMessages { diff --git a/src/include/usr/intr/interrupt.H b/src/include/usr/intr/interrupt.H index 751cedc07..67b984c4e 100644 --- a/src/include/usr/intr/interrupt.H +++ b/src/include/usr/intr/interrupt.H @@ -1,32 +1,30 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/usr/intr/interrupt.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2011-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/usr/intr/interrupt.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2011,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef INTERRUPT_H #define INTERRUPT_H #include <sys/msg.h> #include <errl/errlentry.H> -#include <sys/interrupt.h> namespace INTR { |