summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authordgilbert <dgilbert@us.ibm.com>2011-07-11 12:05:09 -0500
committerDouglas R. Gilbert <dgilbert@us.ibm.com>2011-07-15 09:58:02 -0500
commit1291feb17fa04747795bf5cff72599fa3733d45f (patch)
tree9e6ae90799074a882fa2e5ec2d52bd1520a7a6a8 /src/include
parent353cc0391b0982b936fe0437fbaa0439f775a6dd (diff)
downloadtalos-hostboot-1291feb17fa04747795bf5cff72599fa3733d45f.tar.gz
talos-hostboot-1291feb17fa04747795bf5cff72599fa3733d45f.zip
Linker support for extended image
Change-Id: I21acf1b870667aa3aa2617837bead3a1697db7c1 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/194 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/sys/vfs.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/include/sys/vfs.h b/src/include/sys/vfs.h
index 3b2575139..e1cf188c7 100644
--- a/src/include/sys/vfs.h
+++ b/src/include/sys/vfs.h
@@ -3,10 +3,17 @@
#include <stdint.h>
-#define VFS_MODULE_MAX 128
+// make TODO VFS_MODULE_MAX equal to the actual number of modules in the base image (+ 2?)
+#define VFS_MODULE_MAX 32
+// Extended use 4 4k pages
+#define VFS_EXTENDED_MODULE_MAX 128
+#define VFS_EXTENDED_MODULE_TABLE_ADDRESS 0x0000000040000000UL
#define VFS_MODULE_NAME_MAX 64
#define VFS_SYMBOL_INIT _init
#define VFS_SYMBOL_START _start
+#define VFS_SYMBOL_FINI _fini
+#define VFS_SYMBOL_TEXT .text
+#define VFS_SYMBOL_DATA .data
#define VFS_STRINGIFY(X) #X
#define VFS_TOSTRING(X) VFS_STRINGIFY(X)
@@ -35,9 +42,13 @@ enum VfsMessages
struct VfsSystemModule
{
- const char module[VFS_MODULE_NAME_MAX];
- void (*init)(void*);
- void (*start)(void*);
+ const char module[VFS_MODULE_NAME_MAX]; //!< Module name
+ void (*init)(void*); //!< ptr to init()
+ void (*start)(void*); //!< ptr to start()
+ void (*fini)(void*); //!< ptr to fini()
+ uint64_t * text; //!< ptr to text (code) section
+ uint64_t * data; //!< ptr to data section
+ uint64_t page_size; //!< no. of memory pages used
};
extern VfsSystemModule VFS_MODULES[VFS_MODULE_MAX];
OpenPOWER on IntegriCloud