Index: soft/giet_vm/map.xml
===================================================================
--- soft/giet_vm/map.xml	(revision 158)
+++ soft/giet_vm/map.xml	(revision 160)
@@ -5,8 +5,7 @@
                 clusters = "1"
                 psegs    = "9"
-                ttys     = "7"
-                vspaces  = "3" 
-                globals  = "13"
-                syspath  = "soft/sys.bin" >
+                ttys     = "9"
+                vspaces  = "4" 
+                globals  = "13" >
 
         <clusterset>
@@ -55,153 +54,249 @@
 
         <globalset> 
-                <vseg   name      = "seg_boot_code" 
+                <vseg   name      = "seg_boot_code_data" 
                         vbase     = "0xbfc00000" 
-                        length    = "0x00008000" 
                         mode      = "CX__" 
                         psegname  = "PSEG_ROM" 
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "boot_code_data"
+							type	= "ELF"
+							length  = "0x00008000" 
+							binpath	= "boot.bin"
+							/>
+				</vseg>
 
                 <vseg   name      = "seg_boot_stack"
                         vbase     = "0xbfc08000" 
-                        length    = "0x00004000" 
                         mode      = "C_W_"
                         psegname  = "PSEG_ROM"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "boot_stack"
+							type	= "BUFFER"
+							length  = "0x00004000" />
+				</vseg>
 
                 <vseg   name      = "seg_boot_mapping"
                         vbase     = "0xbfc0c000" 
-                        length    = "0x00004000" 
                         mode      = "C_W_"
                         psegname  = "PSEG_ROM"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "boot_mapping"
+							type	= "ELF"
+							length  = "0x00004000" 
+							binpath	= "map.bin"
+							/>
+				</vseg>
 
                 <vseg   name      = "seg_kernel_code"
                         vbase     = "0x80000000" 
-                        length    = "0x00010000" 
                         mode      = "CX__" 
                         psegname  = "PSEG_RAK"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "kernel_code"
+							type	= "ELF"
+							length  = "0x00010000" 
+							binpath	= "sys.bin"
+							/>
+				</vseg>
 
                 <vseg   name      = "seg_kernel_data"
                         vbase     = "0x80010000" 
-                        length    = "0x00010000" 
                         mode      = "C_W_" 
                         psegname  = "PSEG_RAK"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "kernel_data"
+							type	= "ELF"
+							length  = "0x00010000" 
+							binpath	= "sys.bin"
+							/>
+				</vseg>
 
                 <vseg   name      = "seg_kernel_uncdata"
                         vbase     = "0x80020000" 
-                        length    = "0x00010000" 
                         mode      = "__W_"
                         psegname  = "PSEG_RAK"
-                        ident	  = "1" />
-
-                <vseg   name      = "seg_kernel_pt"
+                        ident	  = "1" >
+					<vobj   name	= "kernel_uncdata"
+							type	= "ELF"
+							length  = "0x00010000" 
+							binpath	= "sys.bin"
+							/>
+				</vseg>
+
+                <vseg   name      = "seg_kernel_init"
                         vbase     = "0x80030000" 
-                        length    = "0x00040000" 
-                        mode      = "C_W_"
+                        mode      = "CX__"
                         psegname  = "PSEG_RAK"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "kernel_init"
+							type	= "ELF"
+							length  = "0x00010000" 
+							binpath	= "sys.bin"
+							/>
+				</vseg>
+
 
                 <vseg   name      = "seg_tty"
                         vbase     = "0x90000000" 
-                        length    = "0x00000200" 
                         mode      = "__W_"
                         psegname  = "PSEG_TTY"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "tty"
+							type	= "PERI"
+							length  = "0x00000100" />
+				</vseg>
 
                 <vseg   name      = "seg_timer"
                         vbase     = "0x91000000" 
-                        length    = "0x00000080" 
                         mode      = "__W_"
                         psegname  = "PSEG_TIM"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "timer"
+							type	= "PERI"
+							length  = "0x00000080" />
+				</vseg>
 
                 <vseg   name      = "seg_ioc"
                         vbase     = "0x92000000" 
-                        length    = "0x00000020" 
                         mode      = "__W_"
                         psegname  = "PSEG_IOC"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "ioc"
+							type	= "PERI"
+							length  = "0x00000020" />
+				</vseg>
 
                 <vseg   name      = "seg_dma"
                         vbase     = "0x93000000" 
-                        length    = "0x00000100" 
                         mode      = "__W_"
                         psegname  = "PSEG_DMA"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "dma"
+							type	= "PERI"
+							length  = "0x00000100" />
+				</vseg>
 
                 <vseg   name      = "seg_fb"
                         vbase     = "0x96000000" 
-                        length    = "0x00004000" 
                         mode      = "__W_"
                         psegname  = "PSEG_FBF"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "fb"
+							type	= "PERI"
+							length  = "0x00004000" />
+				</vseg>
 
                 <vseg   name      = "seg_icu"
                         vbase     = "0x9F000000" 
-                        length    = "0x00000100" 
                         mode      = "__W_"
                         psegname  = "PSEG_ICU"
-                        ident	  = "1" />
+                        ident	  = "1" >
+					<vobj   name	= "icu"
+							type	= "PERI"
+							length  = "0x00000100" />
+				</vseg>
           </globalset> 
 
           <vspaceset>
                 <vspace name    = "router"
-                        binpath = "soft/router.bin"
-                        vsegs   = "8"
-                        tasks   = "4" 
-                        mwmrs   = "2"
+                        funcs   = "data"
                         ttys    = "4" >
 
-                        <vseg   name      = "seg_data"
+                        <vseg   name      = "seg_data_router"
                                 vbase     = "0x00800000" 
-                                length    = "0x00010000" 
                                 mode      = "__WU"
                                 psegname  = "PSEG_RAU"
-                                ident	  = "1" />
-                        <vseg   name      = "seg_code"
+                                ident	  = "0" >
+							<vobj   name	= "data"
+									type	= "ELF"
+									length  = "0x00010000" 
+                                    binpath = "router.bin"
+									/>
+						</vseg>
+
+                        <vseg   name      = "seg_code_router"
                                 vbase     = "0x00400000" 
-                                length    = "0x00010000" 
                                 mode      = "CX_U"
                                 psegname  = "PSEG_RAU"
-                                ident	  = "1" />
+                                ident	  = "0" >
+							<vobj   name	= "code"
+									type	= "ELF"
+									length  = "0x00010000" 
+                                    binpath = "router.bin"
+									/>
+						</vseg>
+
+                        <vseg   name      = "seg_ptab"
+                                vbase     = "0x00300000" 
+                                mode      = "C___"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+                            <vobj   name	= "ptab"
+                                    type	= "PTAB"
+                                    length  = "0x00010000" 
+                                    align   = "13"
+                                    />
+                        </vseg>
+
                         <vseg   name      = "seg_stack_producer"
-                                vbase     = "0x00000000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU" />
+				                vbase     = "0x00010000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack_producer"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
                         <vseg   name      = "seg_stack_consumer"
-				vbase     = "0x00010000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU" />
+				                vbase     = "0x00020000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack_consumer"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
                         <vseg   name      = "seg_stack_router_A"
-				vbase     = "0x00020000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU" />
+                				vbase     = "0x00030000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack_router_A"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
                         <vseg   name      = "seg_stack_router_B"
-				vbase     = "0x00030000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU" />
+				                vbase     = "0x00040000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack_router_B"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
                         <vseg   name      = "seg_mwmr_in"
-                                vbase     = "0x00040000"
-                                length    = "0x00001000"
+                                vbase     = "0x00050000"
                                 mode      = "__WU"
                                 psegname  = "PSEG_RAU"
-                                mwmr      = "1" />
+                                mwmr      = "1" >
+							<vobj   name	= "mwmr_in"
+									type	= "MWMR"
+									length  = "0x00000020"/>
+						</vseg>
+
                         <vseg   name      = "seg_mwmr_out"
-                                vbase     = "0x00050000"
-                                length    = "0x00001000"
+                                vbase     = "0x00060000"
                                 mode      = "__WU"
                                 psegname  = "PSEG_RAU"
-                                mwmr      = "1" />
+                                mwmr      = "1" >
+							<vobj   name	= "mwmr_out"
+									type	= "MWMR"
+									length  = "0x00000020"/>
+						</vseg>
 
                         <task   name      = "producer"
                                 clusterid = "0"
                                 proclocid = "0"
-                                stackname = "seg_stack_producer"
+                                stackname = "stack_producer"
                                 startid   = "0"
                                 ttylocid  = "0" />
@@ -209,5 +304,5 @@
                                 clusterid = "0"
                                 proclocid = "1"
-                                stackname = "seg_stack_consumer"
+                                stackname = "stack_consumer"
                                 startid   = "1" 
                                 ttylocid  = "1" />
@@ -215,5 +310,5 @@
                                 clusterid = "0"
                                 proclocid = "2"
-                                stackname = "seg_stack_router_A"
+                                stackname = "stack_router_A"
                                 startid   = "2"
                                 ttylocid  = "2" />
@@ -221,5 +316,5 @@
                                 clusterid = "0"
                                 proclocid = "3"
-                                stackname = "seg_stack_router_B"
+                                stackname = "stack_router_B"
                                 startid   = "2"
                                 ttylocid  = "3" />
@@ -227,34 +322,55 @@
 
                 <vspace name    = "hello" 
-                        binpath = "soft/hello.bin"
-                        vsegs   = "3"
-                        tasks   = "1" 
-                        mwmrs   = "0"
+                        funcs   = "data"
                         ttys    = "1" >
 
-                        <vseg   name      = "seg_data"
-                                vbase     = "0x00810000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU"
-                                ident	  = "1" />
+                        <vseg   name      = "seg_data_hello"
+                                vbase     = "0x00800000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+							<vobj   name	= "data"
+									type	= "ELF"
+									length    = "0x00010000" 
+                                    binpath = "hello.bin"/>
+						</vseg>
+
+                        <vseg   name      = "seg_code_hello"
+                                vbase     = "0x00400000" 
+                                mode      = "CX_U"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+							<vobj   name	= "code"
+									type	= "ELF"
+									length    = "0x00010000" 
+                                    binpath = "hello.bin"/>
+						</vseg>
+
+                        <vseg   name      = "seg_ptab"
+                                vbase     = "0x00300000" 
+                                mode      = "C___"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+                            <vobj   name	= "ptab"
+                                    type	= "PTAB"
+                                    length  = "0x00010000" 
+                                    align   = "13"
+                                    />
+                        </vseg>
 
                         <vseg   name      = "seg_stack"
                                 vbase     = "0x00000000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU" />
-
-                        <vseg   name      = "seg_code"
-                                vbase     = "0x00410000" 
-                                length    = "0x00010000" 
-                                mode      = "CX_U"
-                                psegname  = "PSEG_RAU"
-                                ident	  = "1" />
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
 
                         <task   name      = "main_hello"
                                 clusterid = "0"
                                 proclocid = "2"
-                                stackname = "seg_stack"
+                                stackname = "stack"
                                 startid   = "0" 
                                 ttylocid  = "0" />
@@ -262,35 +378,139 @@
 
                 <vspace name    = "pgcd" 
-                        binpath = "soft/pgcd.bin"
-                        vsegs   = "3"
-                        tasks   = "1" 
-                        mwmrs   = "0"
+                        funcs   = "data"
                         ttys    = "1" >
 
-                        <vseg   name      = "seg_data"
-                                vbase     = "0x00820000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU"
-                                ident	  = "1" />
+                        <vseg   name      = "seg_data_pgcd"
+                                vbase     = "0x00800000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+							<vobj   name	= "data"
+									type	= "ELF"
+									length  = "0x00010000" 
+                                    binpath = "pgcd.bin" />
+						</vseg>
+
+                        <vseg   name      = "seg_ptab"
+                                vbase     = "0x00300000" 
+                                mode      = "C___"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+                            <vobj   name	= "ptab"
+                                    type	= "PTAB"
+                                    length  = "0x00010000" 
+                                    align   = "13"
+                                    />
+                        </vseg>
+
+                        <vseg   name      = "seg_code_pgcd"
+                                vbase     = "0x00400000" 
+                                mode      = "CX_U"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+							<vobj   name	= "code"
+									type	= "ELF"
+									length  = "0x00010000" 
+                                    binpath = "pgcd.bin" />
+						</vseg>
 
                         <vseg   name      = "seg_stack"
                                 vbase     = "0x00000000" 
-                                length    = "0x00010000" 
-                                mode      = "C_WU"
-                                psegname  = "PSEG_RAU" />
-
-                        <vseg   name      = "seg_code"
-                                vbase     = "0x00420000" 
-                                length    = "0x00010000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
+
+                        <task   name      = "main_pgcd"
+                                clusterid = "0"
+                                proclocid = "3"
+                                stackname = "stack"
+                                startid   = "0" 
+                                ttylocid  = "0" />
+                </vspace>
+
+                <vspace name    = "numsplit"
+                        funcs   = "data"
+                        ttys    = "2" >
+
+                        <vseg   name      = "seg_data_numsplit"
+                                vbase     = "0x00800000" 
+                                mode      = "__WU"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+							<vobj   name	= "data"
+									type	= "ELF"
+									length  = "0x00010000" 
+                                    binpath = "numsplit.bin"
+									/>
+						</vseg>
+
+                        <vseg   name      = "seg_code_numsplit"
+                                vbase     = "0x00400000" 
                                 mode      = "CX_U"
                                 psegname  = "PSEG_RAU"
-                                ident	  = "1" />
-
-                        <task   name      = "main_pgcd"
-                                clusterid = "0"
-                                proclocid = "3"
-                                stackname = "seg_stack"
-                                startid   = "0" 
+                                ident	  = "0" >
+							<vobj   name	= "code"
+									type	= "ELF"
+									length  = "0x00010000" 
+                                    binpath = "numsplit.bin"
+									/>
+						</vseg>
+
+                        <vseg   name      = "seg_ptab"
+                                vbase     = "0x00300000" 
+                                mode      = "C___"
+                                psegname  = "PSEG_RAU"
+                                ident	  = "0" >
+                            <vobj   name	= "ptab"
+                                    type	= "PTAB"
+                                    length  = "0x00010000" 
+                                    align   = "13"
+                                    />
+                        </vseg>
+
+                        <vseg   name      = "seg_stack_producer"
+				                vbase     = "0x00010000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack_producer"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
+                        <vseg   name      = "seg_stack_consumer"
+				                vbase     = "0x00020000" 
+                                mode      = "C_WU"
+                                psegname  = "PSEG_RAU" >
+							<vobj   name	= "stack_consumer"
+									type	= "BUFFER"
+									length  = "0x00010000" />
+						</vseg>
+
+                        <vseg   name      = "seg_mwmr"
+                                vbase     = "0x00050000"
+                                mode      = "__WU"
+                                psegname  = "PSEG_RAU"
+                                mwmr      = "1" >
+							<vobj   name	= "mwmr"
+									type	= "MWMR"
+									length  = "0x00000080"/>
+						</vseg>
+
+                        <task   name      = "producer"
+                                clusterid = "0"
+                                proclocid = "0"
+                                stackname = "stack_producer"
+                                startid   = "0"
+                                ttylocid  = "1" />
+
+                        <task   name      = "consumer"
+                                clusterid = "0"
+                                proclocid = "1"
+                                stackname = "stack_consumer"
+                                startid   = "1" 
                                 ttylocid  = "0" />
                 </vspace>
