From 1291feb17fa04747795bf5cff72599fa3733d45f Mon Sep 17 00:00:00 2001 From: dgilbert Date: Mon, 11 Jul 2011 12:05:09 -0500 Subject: 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 --- src/include/sys/vfs.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'src/include/sys/vfs.h') 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 -#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]; -- cgit v1.2.3