I got the ramdisk stuff working. My latest problem is that the load of misc/strplumb is failing and I can't work out what's wrong (no dependencies and, apparently, no unresolved addresses).
One area that will require major work (but is working thanks to low activity) is the allocation of page tables. On s390x page tables for levels 1-4 are 16K in length and for level 0 it's 2K. At the moment I'm using a call to page_create_va to get pages to build these tables. However, I cannot (or page_create_va) cannot guarantee that I'll get contiguous pages. What I need to do is create an allocation based on structures like memlist except instead of containing address/size information it holds pfn/length information. initialize scratch memory Installed physical memory @ 3c00000: (0x00, 0x08000000) Booter occupied memory (including modules) @ 3c00060: (0x0100000, 0x0188000)(0x03bfffff, 0x0800000) Ramdisk memory @ 3c00080: (0x03000000, 0x0bfffff) Available physical memory @ 3c00100: (0x0288000, 0x02d78000)(0x043fffff, 0x03c00001) Free physical memory @ 3c000e0: (0x0288000, 0x02d78000)(0x043fffff, 0x03c00001) Available virtual memory @ 3c000c0: (0x00, 0x0100000)(0x0288000, 0x02d78000)(0x043fffff, 0xfffffffffbc00000) DAT Enabled using RTO 4400000 Creating mappings for KPM Mapping ffffffff80000000 to 0 for 128MB Relocating the KRTLD/UNIX executable 376: Entered kobj_init() krtld: Using boot version 11. ramdisk range: 0x3000000-3bfffff 640: attr_val() module path '/platform/s390x /kernel /usr/kernel' 713: add_primary 716: struct module 733: symhdr 736: strhdr 785: depends_on 824: realloc depends_on 840: chains 842: buckets krtld: file=/platform/s390x/unix text: 0x100000 size: 0x132e40 data: 0x233000 dsize: 0x5644e 885: load_exec done krtld: file=/platform/s390x/genunix text:0x289b10 size: 0x248930 data:0x4d2440 dsize: 0x584b8 krtld: transferring control to: 0x143340 OpenSolaris on System z - Startup commenced Memory size: 128MB Chunks: 1 0. 0000000000000000 08000000 0 Discovering CPUs Boot CPU logical address: 0 hardware address: 0 1 CPUs detected Initializing timers Initializing memory ../../s390x/os/startup.c:721: 'core_base' is 0x10000000 ../../s390x/os/startup.c:722: 'core_end' is 0x20000000 ../../s390x/os/startup.c:736: 'sysSize' is 0x8000000 ../../s390x/os/startup.c:737: 'physmax' is 0x7fff ../../s390x/os/startup.c:756: 'moddata' is 0x537548 ../../s390x/os/startup.c:757: 'nalloc_base' is 0x4564000 ../../s390x/os/startup.c:758: 'nalloc_end' is 0x50abae1 ../../s390x/os/startup.c:759: 'sdata' is 0x233000 ../../s390x/os/startup.c:764: 'e_text' is 0x232e40 ../../s390x/os/startup.c:769: 'modtext' is 0x233000 ../../s390x/os/startup.c:770: 'modtext_sz' is 0x0 ../../s390x/os/startup.c:789: 'extra_etpg' is 0x0 ../../s390x/os/startup.c:790: 'modtext_sz' is 0x0 ../../s390x/os/startup.c:791: 'extra_etva' is 0x233000 ../../s390x/os/startup.c:797: 'nalloc_base' is 0x4564000 ../../s390x/os/startup.c:798: 'nalloc_end' is 0x50abae1 Initializing I/O structures Console address = 0009 Highest subchannel address encountered: 0021 I/O Device List starts at 4566000 for 6272 bytes ../../s390x/os/startup.c:840: 'kmem64_base' is 0x70000000000 ../../s390x/os/startup.c:878: 'ndata_remain_sz' is 0xb43000 ../../s390x/os/startup.c:1035: 'page_hash' is 0x4961000 ../../s390x/os/startup.c:1036: 'memseg_base' is 0x4982000 ../../s390x/os/startup.c:1037: 'kpm_pp_base' is 0x4983000 ../../s390x/os/startup.c:1038: 'kpm_pp_sz' is 0x43c38 ../../s390x/os/startup.c:1039: 'pp_base' is 0x4568000 ../../s390x/os/startup.c:1040: 'pp_sz' is 0x3f8568 ../../s390x/os/startup.c:1041: 'alloc_base' is 0x70000000000 ../../s390x/os/startup.c:1049: 'kmem64_base' is 0x70000000000 ../../s390x/os/startup.c:1050: 'kmem64_end' is 0x70000000000 ../../s390x/os/startup.c:1064: 'memlist' is 0x49c7000 ../../s390x/os/startup.c:1065: 'memlist_end' is 0x4be6000 ../../s390x/os/startup.c:1066: 'sysbase' is 0x30000000000 ../../s390x/os/startup.c:1067: 'syslimit' is 0x70000000000 ../../s390x/vm/s390xmmu.c:416: 'wasteage' is 0x0 ../../s390x/os/startup.c:1109: 'memlist' is 0x49c7020 ../../s390x/os/startup.c:1110: 'memlist_sz' is 0x21f000 ../../s390x/os/startup.c:1111: 'memspace' is 0x49c7000 ../../s390x/os/startup.c:1116: 'pp_base' is 0x4568000 ../../s390x/os/startup.c:1117: 'memseg_base' is 0x4982000 ../../s390x/os/startup.c:1118: 'npages' is 0x8783 ../../s390x/os/startup.c:1119: 'phys_avail' is 0x3c00100 ../../s390x/os/startup.c:1127: 'availrmem' is 0x6978 SunOS Release 5.11 Version sirius 64-bit Copyright 1983-2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. DEBUG enabled Initializing modules startup_modules() starting... krtld: file=/kernel/fs/specfs text:0x18000000 size: 0x6cf8 data:0x10000000 dsize: 0xa8 krtld: file=/kernel/fs/devfs text:0x18007000 size: 0x81e0 data:0x10000994 dsize: 0x248 krtld: file=/kernel/sched/TS text:0x18010000 size: 0x48d0 data:0x10001000 dsize: 0x7b8 krtld: file=/kernel/sched/TS_DPTBL text:0x18006cf8 size: 0x190 data:0x100017b8 dsize: 0x830 startup_modules() done Initializing virtual memory krtld: file=/kernel/drv/rootnex text:0x18015000 size: 0x20a0 data:0x10000c24 dsize: 0x290 krtld: file=/kernel/drv/options text:0x180148d0 size: 0x230 data:0x10000eb4 dsize: 0xb8 krtld: file=/kernel/drv/pseudo text:0x180170a0 size: 0xe98 data:0x10002000 dsize: 0x228 System z specific initialization complete vfs_mountroot() errorq_init() cpu_kstat_init() ddi_walk_devs() post_startup() krtld: file=/kernel/fs/ufs text:0x18018000 size: 0x4fdb8 data:0x10003000 dsize: 0x1a60 krtld: file=/kernel/misc/fssnap_if text:0x18014b00 size: 0x3d0 data:0x10000f6c dsize: 0x88 ndi_devi_config_one: par = rootnex-1 (30000b32e00), child = ramdisk WARNING: path_to_major: can't bind </ramdisk> init_node: entry: path /ramdisk 0x30000b32c00 probe_node: 0x30000b32c00(ramdisk0) krtld: file=/kernel/drv/ramdisk text:0x18068000 size: 0x2b20 data:0x10004a60 dsize: 0x170 attach_node: 0x30000b32c00(ramdisk0) krtld: file=/kernel/fs/dev text:0x1806b000 size: 0x16828 data:0x10002a34 dsize: 0x4d8 WARNING: /dev/zcons: error 2 krtld: file=/kernel/fs/ctfs text:0x18082000 size: 0x40d8 data:0x10004bd0 dsize: 0x378 krtld: file=/kernel/fs/procfs text:0x18087000 size: 0x23778 data:0x10005000 dsize: 0xa48 krtld: file=/kernel/fs/mntfs text:0x180ab000 size: 0x2fa0 data:0x10004f48 dsize: 0xb8 panic[cpu0]/thread=243200: mod_hold_stub: Couldn't load stub module misc/strplumb syncing file systems... done skipping system dump - no dump device configured This message posted from opensolaris.org _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code