OpenSolaris
Collectives
Discussions
Documentation
Download
Source Browser
Free CD
Log-in
|
en
Project ppc-dev
:
Status
Top Menu
Show
:
Comments
Attachments
History
Information
Print
:
Print
Print preview
Export as PDF
Export as RTF
Export as HTML
Export as XAR
Wiki code for
Status
Hide Line numbers
1: ==Project Status Page== 2: 3: In lieu of a blog we will go a simple route here just posting notes with their associated dates. Jump to the bottom of the page to see the latest boot log output from the target. 4: 5: We have completed process of pushing out code to the ppc-dev svn repository and the internal Sunlabs repository is now deprecated even though it still functional. While we could drop tarballs it doesn’t seem to provide much value but can if requested. 6: 7: ==Current tasks in process== 8: 9: 1. Establish outward facing PPC development server vespa2 - done 10: 1. Establish svn access with both pp-dev and labs polaris-trunk from vespa2 - done 11: 1. Build vespa2:$HOME/usr/src/uts - done 12: 1. Build vespa2:/$HOME/usr/src/lib - done - TODO: add rules for automated genassym and assym.h building. 13: 1. Verify ODW boot and statically linked userland shell - the last development point when the Labs exited the project. - done 14: 1. Rebuild all tools onbld, gcc, cmd/sgs and verify functionality based on all ppc-dev bits - in process 15: 1. Update website and associated documentation - ongoing basis 16: 1. Move druidia and 2nd ODW target to external site - pending 17: 1. Fix lost MAC address bug to allow other 2 ODW targets to boot on VOF - pending 18: 1. Sync the ppc-dev source to the latest Open<nop>Solaris repository - pending 19: 1. Move the current repo control from subversion to Mercurial - pending 20: 21: ===Vespa2 as a development system is fully functional=== 22: 23: We have succeeded in recreating and then moving one of the Sun<nop>Labs development systems to be publicly available. A serious developer can now log into vespa2.sunlabs.com, pull the ppc-dev source, build it, download their kernel, boot it and debug it on a target Pegasos ODW system there. The statically linked init is a demonstration of a userland program that forks and execs, executes in from user space and returns to the kernel. 24: 25: ===Vespa2 is now externally accessible=== 26: 27: It is the first of two standalone development servers have been turned outward facing and is externally accessible by the community. These systems were the original project hardware used by the Pulsar Project and have been generously donated by SunLabs. They will be maintained at the Sun Menlo Park Bldg 16 facility but are not part of the Sun network or any project. This has not been a simple task and some details remain. Pictures are always good so here is the stuff in action. vespa2 shown on the bottom with an ODW board above. There is a network controlled powerstrip that can be used to recycle power and provide reset to the ODW target system. 28: 29: [[[image:labdev4small.jpg||alt="vespa2 server and ODW target"]]](http://www.opensolaris.org/os/project/ppc-dev/status/labdev4_small.jpg "The externally available ppc-dev system") 30: 31: ===Now Have 2 Development Systems and 3 Targets ~-- 02/04/2009=== 32: 33: We now have 2 available solaris build and boot servers for our odw targets. They are vespa and vespa2. Additionally we have drudia, a linux server which functions as a boot server for the third odw target. Anyone wanting to use druidia would build their bins on either vespa or vespa2 then scp over to druduia and execute on the odw served from drudia. We will be placing them on the external network shortly and they will be generally available for anyone who would like to do development. 34: 35: ===Development Systems Up ~-- 01/25/2009=== 36: 37: We have emerged from a self imposed hibernation. It seems that the folks really interested in getting a PPC port have returned and are now putting in the effort to make further progress. 38: 39: Sunlabs has agreed to host the previous development systems and offer remote access. There will be two individual servers each with a ODW target and power / reset control. One setup will have a BDI debugger. 40: 41: The svn repo has been updated with the final work done by Guy Shaw, this wraps up any direct work by SunLabs. There is a single user prompt in a statically linked init. 42: 43: ===Updated SVN repository ~-- 02/18/2008=== 44: 45: Now at rev 111. Major items to note 46: 47: Bug fixes for missing BRL instruction in a number of critical assembly files 48: Implement lwp_pcb_exit() 49: 50: ===Updated SVN repository ~-- 11/02/2007=== 51: 52: Now at rev 97. Major items to note 53: 54: We have sync’d with onnv bld 58 ~----hmmm aren’t we a bit behind 55: 56: Well this is the bulk of the commit, we have not done a merge since earlier this year. Why? It’s a messy thing being on a parallel path here, but this will take us from 57 to 58. We will now be spending time on playing catchup to get back in sync with the releases. Guy does this by himself. There is alot more work to do now with each one of these since we are successfully building much more of the consolidation. The lack of accounting for a 3rd architecture can be painfully seen with each one of these but we grind away. 57: 58: Updates to sgs. We can now build rtld (ld.so.1) 59: 60: ===Updated SVN repository ~-- 10/29/2007=== 61: 62: It is now at rev 95. Many updates to lib/ and a number of shared objects are building. We have yet to actually test any of this on the target since we need a functional rtld, which should be here soon. 63: 64: You will need to build the libs with make -k install. We have a problem with building lint related items and that will get you temporarily past the issue. 65: 66: To build you will also need the updated toolchain which has a reconfigured gcc which now handles c++. 67: 68: Once you have the right shared objects you should also be able to build cmd/init and cmd/sh. 69: 70: ===Sync Up with Sun Labs Source Development Complete ~-- 10/11/2007=== 71: 72: Ok, we’re now at rev 93 and the repo is in sync with the Sun Labs development. All of the latest code is out. It should build cleanly, just follow the instructions. If you have any questions, feedback, suggestions or want to jump in post to the discussion list. 73: 74: We’re in the process of updating the task pages and overall documentation on the project itself. Please take the time to review and provide feedback or information updating. 75: 76: ===Successful Bulding of SVN repository ~-- 10/09/2007=== 77: 78: The ppc-dev repo is now at rev 89 this is around the mid Aug 07 development timeline so we’re now only a few months behind. Lots of ddi and interrupt development was going on. The additional good news here is that the repo is building on the outside by community members. 79: 80: ===Updated SVN repository ~-- 09/28/2007=== 81: 82: It is now at rev 82 this is now around the June 07 development timeline so the ppc-dev code base is catching up. This putback has updates to the VM, HAT layer and PMDB. A few more drivers completes the PPC driver build dirs and their associated Makefiles. 83: 84: ===Updated SVN repository ~-- 09/27/2007=== 85: 86: It is now at rev 80. This putback generally completes adding the PPC driver build dirs and their associated Makefiles. It also has the start of the CBE work along with update pci nexus and genral interrupt work. There are updates to the tool set that Guy has created, see the work in onbld. Added a bit of support for the EFIKA platform, but ODW continues to be the platform we develop on. 87: 88: You may notice in the log alot of comments to code regarding double mappings. This was a problem we fought with for a while before finding an oversight related to the ODW firmware and active BAT regs that we thought were disabled. 89: 90: ===Updated SVN repository ~-- 09/25/2007=== 91: 92: It is now at rev 79. This putback includes a large number of the PPC driver build dirs and Makefiles. It also has the start of the rootnexus and ddi interface. 93: 94: ===Updated SVN repository ~-- 09/20/2007=== 95: 96: It is now at rev 78. At this point the interrupt framework and the cbe was just being added. The PMDB (Poor Mans Debugger) was updated and also some VM related work was added. The RHINE ethernet chip driver was added here. 97: 98: ===Updated SVN repository ~-- 09/11/2007=== 99: 100: It is now at rev 72. This is about half way through the merge of the ppc-dev tree with bld 57. Best to wait till the whole merge is pushed out before attempting to build and test. Note you will need to load ands run VOF on top of the ODW’s firmware. A binary has been provided. 101: 102: ===Updated SVN repository ~-- 08/28/2007=== 103: 104: It is now at rev 62. This includes the beginning merge of the ppc-dev tree with bld 56 which is around the Jan 07 timeframe. Notable commits are related to mdb and other kernel boot funcs. 105: 106: ===Updated SVN repository ~-- 07/23/2007=== 107: 108: It is now at rev 38. This is up to the merge of the tree with bld 54. You will have to use the updated toolchain GNU/GCC/AS/solaris ld from now on to build. Get it [[here>>Project ppc-dev.tools]] 109: 110: ===Updated SVN repository ~-- 06/22/2007=== 111: 112: It is now at rev 24. These updates were still related to general work that continued in the kernel bringup but you may also notice the cmd/sgs ld work that’s was going on. 113: 114: ===More SVN Updates ~-- 06/20/2007=== 115: 116: Gotta love svn. The merge command works well on files that are already in place. but won’t create new files. We’ve been using svn cat to create the new files, do an svn add, then go for the merge. 117: 118: ===Created SVN repository ~-- 06/10/2007=== 119: 120: Populated it with the source from the initial code release. As usual doing something for the 1st time always takes a bit longer to get the hang of it. The SCM management support wasn’t available back at the time of the 1st source drop so the tarball was essentially it. You can access according to the [[std instructions>>Community Group tools.svn_help]]. For example you would have svn+ssh://user@svn.opensolaris.org/svn/ppc-dev/ppc-dev. You also need to be affiliated with the project and have a public key available on your profile. 121: 122: ===Updated GNU Assembler ~-- 11/27/2006=== 123: 124: The GNU ld was covering up the incorrect symbol relocations, fancy that. The new one is here /opt/polaris/powerpc-solaris2/bin/as. The difference is that the new as should generate the proper relocations for unaligned 32 and 16 bit address relocations. With this new as we can go back to compiling with -g -gdwarf-2. 125: 126: ===Merger with build 54 complete ~-- 11/22/2006=== 127: 128: onnv-gate build 54 (2006-Nov-22) and the ppc-dev source base is complete. This is not a simple job, many files must be hand merged after the bulk is integrated. 129: 130: ===Active topics ~-- 11/20/2006=== 131: 1. Figured out problems with inetboot. Restricted reads to 1K as the ethernet driver in the OF drops back to back packets. Also randomized the initial port number so that back to back reboots won’t have to wait for 4 minutes for the previous connections to time out. 132: 1. Cross built ld. Required libconv, libelf, libld, liblddbg as well. Most of usr/src/cmd/sgs builds, but not all. Skipped over TLS (thread local storage) stuff for now. Also did nothing for 64-bit. Main issues surrounded no cross building was envisioned or testing. Byte flipping issues abound. 133: 1. kernel and boot both can be properly built by the Solaris ld. We’ve switched over to the Solaris ld totally now and using the Solaris kernel mapping layout. Still cannot run at 0xe0000000 as OF has problems dealing with non real mode addresses. 134: 1. Got krtld working. Apparently fully functional. Issues w/byte flipping in doreloc() and addend values were both in the addend field of the relocation and left at the memory location referred to by the relocation. 135: 1. Worked on and analyzed issues with usr/src/tools/ctf 136: 1. Started working on mdb/kmdb. Makefile tree in place. 137: 1. Created a work around solution for genassym/assym.h until the ctf tools are functional. Compile the offsets (data table only) with the GNU gcc cross compiler into an assembler file. Use that assembler file as input into Sun x86 c compiler. Relies on the fact that the x86 and PowerPC assemblers are very similar. 138: 139: ===Move to solaris ld ~-- 11/09/2006=== 140: 141: It is available in /opt/onbld/usr/ccs/bin/ld. There are also the libraries which are in /opt/onbld/lib/. In order to run the new linker you must set in your environment LD=/opt/onbld/usr/ccs/bin/ld then export LD. 142: 143: But now we run into some very strange issues with symbol unaligned relocations. Since we use the Metrowerks PowerTAP and Codewarrior for source level debuging we need to have DWARF symbols even though we can build successfully without them. The solaris ld complains, but the GNU ld never did. 144: 145: (for sh and bsh at least). 146: 147: ===KRTLD update ~-- 11/07/2006=== 148: 149: krtld is running. 150: inetboot loads /platform/chrp/kernel/unix. 151: inetboot reads unix and observes that misc/krtld 152: is required. inetboot reads in /kernel/misc/krtld. 153: Control is transferred to krtld. krtld relocates 154: itself and then reads unix for its symbols and 155: well as reading that genunix is needed. krtld 156: then reads in genunix and relocates it and 157: binds everything together. Control is then 158: transferred to unix which starts execution. 159: 160: ===Initial project contribution ~-- 10/02/2006=== 161: 162: This was quite a bit of work just to get to this point but now there is a working development system available to all who would like to particpate in any area of this project. There is no closed code, all of the platform source is open. The build is sync with ON a bit past BLD_47. The Polaris task map was updated also. 163: 164: In simple terms the kernel boots and outputs to the console to a point and then will panic. This is currently during the VM initialization. Development continues not only on the VM/HAT but in parallel on KRTLD, RTLD. At this time however we statically link unix/genunix to facilitate debugging. The [[task map>>Project ppc-dev.task_map]] is the best way to obtain details on development status of each area. 165: 166: 167: 168: ~---- 169: ==Important target notes for now 11/1/08== 170: 171: you must add these lines to your asy.conf file in your $ROOT/kernel/drv 172: 173: {{{ 174: ttyb-ignore-cd=1; 175: ttyb-mode="115200,8,n,1,-"; 176: }}} 177: 178: You must enter in the following once the ODW boots and your at the smartfirmware prompt. This will route the ethernet irq to a non shared number. 179: 180: {{{ 181: 54600080 f1000c78 l! 182: a09990 f1000c7c l! 183: 3c680080 f1000c78 l! 184: a01ffff f1000c7c l! 185: }}} 186: 187: {{{ 188: boot eth:192.168.1.10,openfirmware 189: }}} 190: 191: The current status is that we are at the point of running our first code from userland. As you can see there is a bit more work to do but progress has been made. In this run we have replaced the "usual" init with a application that is statically linked that simply does an open of the console device, a write of 192: "Hello, world!" and then exits. 193: 194: > elfexec 195: 196: elfexec: level = 0 197: > elfexec -> getelfhead 198: < elfexec -> getelfhead 199: > elfexec -> getelfphdr 200: < elfexec -> getelfphdr 201: exec~_args: size = 4096 202: hat~_unload~_callback: vaddr=dfffd000, len=2000 203: hat~_unload~_callback: cb = NULL 204: ppcmmu~_alloc: > vmem~_alloc 205: ppcmmu~_alloc: < vmem~_alloc 206: ppcmmu~_setup: not kernel hat 207: ppcmmu~_setup: > mmu~_segload 208: ppcmmu~_setup: < mmu~_segload 209: > exec~_args -> stk~_copyout 210: 211: \-> grow 212: \-> grow~_internal: sp=dfffefc0, growszc=0 213: <- grow~_internal: newsize=1000 214: as~_fault: seg->s~_ops->fault = e0204ff4 = unix:segvn~_fault+0 215: <- grow 216: < exec~_args -> stk~_copyout 217: as~_fault: seg->s~_ops->fault = e0204ff4 = unix:segvn~_fault+0 218: < elfexec 219: > exec~_init ~-- rc=0 220: 221: Hello, world! <~----This is what we have been waiting for!!! 222: 223: WARNING: init(1M) exited with status 0: restarting automatically 224: 225: To browse the latest project source just go [[here>>http://cvs.opensolaris.org/source/xref/ppc-dev/ppc-dev]] Note that the cvs viewer appears to be unable to view the recent putbacks on the svn repo. 226: 227: === 01/26/2009 target boot log === 228: ~---- 229: Quite a bit of progress had been made since the October release, see below 230: 231: CONNECT THE SERIAL PORT TO THE TARGET 232: 233: ========================================================================== 234: 235: {{{ 236: {{code}}# tip -115200 /dev/ttya 237: connected{{/code}} 238: }}} 239: 240: RESET THE ODW TARGET BY POWER CYCLING OR USING THE BDI-2000 "HALT-RESET-GO" 241: 242: =========================================================================== 243: 244: {{{ 245: {{code}}PegasosII Boot Strap (c) 2002-2004 bplan GmbH 246: Running on CPU PVR:80020101 247: Enable L1 ICache... 248: len=3 249: libmacros 250: len=3 251: -module /platform/chrp/kernel/unix: text at [0xe0001000, 0xe03d0f53] data at 0xe2000000 252: module misc/krtld: text at [0xe03d0f54, 0xe03fb7f3] data at 0xe20c04f8{{/code}} 253: }}} 254: 255: AFTER LOADING KRTLD AND THE KERNEL HERE IS THE FIRST OUTPUT 256: 257: ============================================================================== 258: 259: {{{ 260: {{code}}Processor Version Reg (PVR) = 80020101 (version=8002, revision=101) 261: Found Valid CPU: MPC7457 262: HID0~_old=0x8410c09c 263: =8410c09c<TBEN,DPM,ICE,DCE,SGE,LRSTK,FOLD,BHT> 264: HID0~_new=0x8410c09c 265: =8410c09c<TBEN,DPM,ICE,DCE,SGE,LRSTK,FOLD,BHT> 266: HID0~_set=0x0 267: =0 268: HID0~_rst=0x0 269: =0 270: HID1=0x2c80 271: =2c80<PC3,SYNCBE,ABE> 272: L2CR=0 273: L3CR=0 274: mlsetup.c:118: mlsetup() starting... 275: Initialized t0 thread. 276: mlsetup.c:544: fiximp~_obp() starting... 277: prom~_set~_cache~_geometry: try l2-cache 278: prom~_set~_cache~_level: l2-cache 279: prom~_set~_cache~_geometry: try l3-cache 280: mlsetup.c:558: fiximp~_obp() done. 281: mlsetup.c:395: config~_timebase() starting... 282: Calculated dec~_incr~_per~_tick = 0x51615 for 10ms tick 283: Obtained timebase frequency = 33333333 hz 284: Calculated timebase period = 61440 (30 nsec / tick) 285: Calculated timebase ticks per 10usec = 333 286: Error per second under = 20480 = 10 ppb 287: Error per second over = 33312853 = 16266 ppb 288: mlsetup.c:426: config~_timebase() done. 289: Loaded decrementer with 0x7fffffff 290: mlsetup.c:304: mlsetup() done. 291: Running with VOF version 2.0 292: > ppcmmu~_init 293: < ppcmmu~_init 294: Leaving locore.s ... executing main()...{{/code}} 295: }}} 296: 297: LIKE IT SAID IT IS IN MAIN 298: 299: ============================================================================== 300: 301: {{{ 302: `[progress bar init] 303: startup.c:779: startup~_init(): starting... 304: }}} 305: 306: {{{ 307: ===> File: chrp/os/startup.c, Line: 780, e001ef24 = unix:startup~_init+50 308: startup~_init(): starting... 309: > startup~_init 310: startup.c:783: startup~_init(): bootid() 311: ../../chrp/os/startup.c//startup_init//787 312: PMDB = Poor Man’s DeBugger 313: Kernel configuration shell: 314: Commands that affect startup: 315: ut Run unit test 316: ch Copy Solaris interrupt handlers 317: ei Enable Interrupts 318: ro Protect kernel text pages; set to read-only 319: kmpage kmem~_alloc objects of given size whole pages 320: config Run configure 321: ttyinit Run ttyinit 322: dbinit Run debug shell after /sbin/init 323: demo Run demo, just before init 324: Commands that enable/disable debug trace messages: 325: ga Show native PowerPC genassym 326: td Trap debug 327: mfr Enable MMU Flight Recorder 328: ifr Enable Interrupt Flight Recorder 329: pwatch Panic on any attempt to modify a watched PTE 330: kmf Set kmem~_flags = arg[1] 331: If no args, set to default value 332: cbe Set cbe~_debug 333: Other: 334: cf Show all configuration (startup and debug) 335: cfs Show startup options 336: cfd Show debug configuration 337: go Exit debugger and continue running Solaris 338: m1 = "ch config ei ttyinit dbinit 0d kmf" 339: m2 = "ch config ei ttyinit dbinit"{{code}} 340: }}} 341: 342: SO ABOVE IS THE MENU OF THE PMDB BUT WE JUST RUN THE MACRO "M1 GO" 343: 344: ============================================================================== 345: 346: {{{ 347: {{/code}}pmdb kconf: m1 go 348: }}} 349: 350: {{{ 351: > copy~_handlers 352: < copy~_handlers 353: bootops at 0x185f1c4: 354: bsys~_version 9 355: bsys~_super 0x0 356: boot~_mem 0x0 357: bsys~_1275~_call 0x1806210 358: bsys~_printf 0x1804f30 359: < startup~_init 360: startup.c:860: startup~_init() done 361: startup.c:1091: startup~_memlist() starting... 362: phys-installed: 2 elements 363: phys-avail: 4 elements 364: virt-avail: 10 elements 365: MEMLIST: phys-installed: 366: Address Size 367: ~----~---- 368: 0x0 0x10000000 369: MEMLIST: phys-avail: 370: Address Size 371: ~----~---- 372: 0x2e2000 0x21e000 373: 0x92a000 0xf2d6000 374: }}} 375: 376: {{{ 377: MEMLIST: virt-avail: 378: Address Size 379: ~----~---- 380: 0x0 0x1800000 381: 0x184a000 0x6000 382: 0x1946000 0xde6bb000 383: 0xe03fc000 0x1c04000 384: 0xe20d1000 0x19f2f000 385: MEMLIST: boot~_physinstalled: 386: Address Size 387: ~----~---- 388: 0x0 0x10000000 389: Total: 1 ranges, 0x10000000 bytes 390: MEMLIST: boot~_physavail: 391: Address Size 392: ~----~---- 393: 0x2e2000 0x21e000 394: 0x92a000 0xf2d6000 395: Total: 2 ranges, 0xf4f4000 bytes 396: MEMLIST: boot~_virtavail: 397: Address Size 398: ~----~---- 399: 0x0 0x1800000 400: 0x184a000 0x6000 401: 0x1946000 0xde6bb000 402: 0xe03fc000 0x1c04000 403: 0xe20d1000 0x19f2f000 404: Total: 5 ranges, 0xfb9f4000 bytes 405: }}} 406: 407: {{{ 408: ===> File: chrp/os/startup.c, Line: 1110, e001f7d4 = unix:startup~_memlist+dc 409: physmax = 0xffff 410: }}} 411: 412: {{{ 413: ===> File: chrp/os/startup.c, Line: 1111, e001f804 = unix:startup~_memlist+10c 414: physinstalled = 0x10000 415: probe~_kernel~_vof: 416: s~_text = e0001000 417: e~_text = e03fb7f4 418: s~_data = e2000000 419: e~_data = e20d016e 420: ppcmmu~_pt~_vof 421: Request to map V=0x0 to R=0x2e2000 422: Stack backtrace: 423: 0xfc01212c 424: 0xfc0126a8 425: 0xfc0138dc 426: 0xfc0258d4 427: 0xfc01a540 428: 0xfc0197fc 429: 0xe00af778 430: 0xe00af9d4 431: 0xe00b038c 432: 0xe0040514 433: 0xe0040798 434: 0xe0040f18 435: 0xe001f870 436: 0xe001eea4 437: 0xe0192c6c 438: 0xe0001110 439: ppcmmu~_pt~_switch: 440: pt~_virt=fdc00000 441: pt~_phys=fc00000 442: pt~_size=400000 443: hash~_pteg~_mask = ffff 444: ptes=fdc00000, eptes=fe000000, pt~_size=400000 445: startup.c:1129: > startup\//build//\mem~_nodes 446: plat~_build~_mem~_nodes: list=1945000 447: mem~_node~_add~_slice: mnode=0, start=0, end=ffff 448: startup.c:1131: < startup~_build~_mem~_nodes 449: }}} 450: 451: {{{ 452: ===> File: chrp/os/startup.c, Line: 1148, e001f950 = unix:startup~_memlist+258 453: s~_avail = 0xe20d1000 454: ===> File: chrp/os/startup.c, Line: 1149, e001f980 = unix:startup~_memlist+288 455: e~_avail = 0xe20d1000 456: ===> File: chrp/os/startup.c, Line: 1156, e001fa1c = unix:startup~_memlist+324 457: s~_gap = 0xe20d1000 458: ===> File: chrp/os/startup.c, Line: 1157, e001fa4c = unix:startup~_memlist+354 459: e~_gap = 0xe20d1000 460: ===> File: chrp/os/startup.c, Line: 1158, e001fa7c = unix:startup~_memlist+384 461: s~_avail = 0xe20d1000 462: ===> File: chrp/os/startup.c, Line: 1159, e001faac = unix:startup~_memlist+3b4 463: e~_avail = 0xe20d1000 464: ===> File: chrp/os/startup.c, Line: 1179, e001fbdc = unix:startup~_memlist+4e4 465: s~_gap = 0xe20d1000 466: ===> File: chrp/os/startup.c, Line: 1180, e001fc0c = unix:startup~_memlist+514 467: e~_gap = 0xe20d1000 468: ===> File: chrp/os/startup.c, Line: 1181, e001fc3c = unix:startup~_memlist+544 469: s~_avail = 0xe20d1000 470: ===> File: chrp/os/startup.c, Line: 1182, e001fc6c = unix:startup~_memlist+574 471: e~_avail = 0xe20d1000 472: nucleus~_alloc: startup~_memlist() modtext: 473: remaining space = 0+0, need 6291456 474: nucleus~_alloc: startup~_memlist() moddata: 475: remaining space = 0+0, need 6291456 476: }}} 477: 478: {{{ 479: ===> File: chrp/os/startup.c, Line: 1319, e001ffc8 = unix:startup~_memlist+8d0 480: s~_modtext = 0xe03fd000 481: ===> File: chrp/os/startup.c, Line: 1320, e001fff8 = unix:startup~_memlist+900 482: e~_modtext = 0xe09fd000 483: ===> File: chrp/os/startup.c, Line: 1321, e0020028 = unix:startup_memlist+930 484: s~_moddata = 0xe20d2000 485: ===> File: chrp/os/startup.c, Line: 1322, e0020058 = unix:startup~_memlist+960 486: e~_moddata = 0xe26d2000 487: ===> File: chrp/os/startup.c, Line: 1323, e0020088 = unix:startup~_memlist+990 488: econtig = 0xe20d1000 489: ===> File: chrp/os/startup.c, Line: 1324, e00200b8 = unix:startup~_memlist+9c0 490: s~_avail = 0xe20d1000 491: ===> File: chrp/os/startup.c, Line: 1325, e00200e8 = unix:startup~_memlist+9f0 492: e~_avail = 0xe20d1000 493: ===> File: chrp/os/startup.c, Line: 1349, e00201e0 = unix:startup~_memlist+ae8 494: physmem = 0xffff 495: ===> File: chrp/os/startup.c, Line: 1362, e0020220 = unix:startup~_memlist+b28 496: memseg~_sz = 0x104 497: nucleus~_alloc: valloc~_try() memseg~_base: 498: remaining space = 0+0, need 260 499: }}} 500: 501: {{{ 502: ===> File: chrp/os/startup.c, Line: 1371, e0020284 = unix:startup~_memlist+b8c 503: memlist~_sz = 0x1000 504: nucleus~_alloc: valloc~_try() memlists: 505: remaining space = 0+0, need 4096 506: }}} 507: 508: {{{ 509: ===> File: chrp/os/startup.c, Line: 1381, e002033c = unix:startup~_memlist+c44 510: pagehash~_sz = 0x10000 511: nucleus~_alloc: valloc~_try() page~_hash: 512: remaining space = 0+0, need 65536 513: }}} 514: 515: {{{ 516: ===> File: chrp/os/startup.c, Line: 1387, e0020388 = unix:startup~_memlist+c90 517: npages = 0xffff 518: }}} 519: 520: {{{ 521: ===> File: chrp/os/startup.c, Line: 1389, e00203c8 = unix:startup~_memlist+cd0 522: pp~_sz = 0x4fffb0 523: nucleus~_alloc: valloc~_try() pp~_base: 524: remaining space = 0+0, need 5242800 525: page~_coloring~_init: 526: pc~_size=262144 527: pc~_assoc=8 528: }}} 529: 530: {{{ 531: pc~_colors=8 532: PAGE~_COLORS~_MIN=16 533: page~_colors=16 534: cpu~_page~_colors=8 535: colorequiv=0 536: colorequivszc[0] = 16 537: }}} 538: 539: {{{ 540: ===> File: chrp/os/startup.c, Line: 1394, e002044c = unix:startup~_memlist+d54 541: pagecolor~_memsz = 0x260 542: }}} 543: 544: {{{ 545: ===> File: chrp/os/startup.c, Line: 1398, e00204a0 = unix:startup~_memlist+da8 546: page~_ctrs~_size = 0x298 547: Init HMEs: 548: sizeof(hme~_t) = 20 549: nptes = 524288 550: nptegp = 32768 551: NPTEPERPTEGP = 16 552: sizeof (ptegp~_t) = 16 553: nucleus~_alloc: valloc~_try() hments: 554: remaining space = 0+0, need 10485760 555: nucleus~_alloc: valloc~_try() ptegps: 556: remaining space = 0+0, need 524288 557: nucleus~_alloc: valloc~_try() ptelock~_hashtab: 558: remaining space = 0+0, need 8192 559: phys-installed: 2 elements 560: phys-avail: 4 elements 561: virt-avail: 14 elements 562: MEMLIST: phys-installed: 563: Address Size 564: ~----~---- 565: 0x0 0x10000000 566: MEMLIST: phys-avail: 567: Address Size 568: ~----~---- 569: 0x2e3000 0x21d000 570: 0x152a000 0xe6d6000 571: MEMLIST: virt-avail: 572: Address Size 573: ~----~---- 574: 0x0 0x1800000 575: 0x184a000 0x6000 576: 0x1947000 0xde6ba000 577: 0xe03fc000 0x1000 578: 0xe09fd000 0x1603000 579: 0xe20d1000 0x1000 580: 0xe26d2000 0x1992e000 581: MEMLIST: phys~_install: 582: Address Size 583: ~----~---- 584: 0x0 0x10000000 585: Total: 1 ranges, 0x10000000 bytes 586: MEMLIST: phys~_avail: 587: Address Size 588: ~----~---- 589: 0x2e3000 0x21d000 590: 0x152a000 0xe6d6000 591: Total: 2 ranges, 0xe8f3000 bytes 592: MEMLIST: virt~_avail: 593: Address Size 594: ~----~---- 595: 0x0 0x1800000 596: 0x184a000 0x6000 597: 0x1947000 0xde6ba000 598: 0xe03fc000 0x1000 599: 0xe09fd000 0x1603000 600: 0xe20d1000 0x1000 601: 0xe26d2000 0x1992e000 602: Total: 7 ranges, 0xfadf3000 bytes 603: }}} 604: 605: {{{ 606: ===> File: chrp/os/startup.c, Line: 1433, e002056c = unix:startup~_memlist+e74 607: e~_avail = 0xe20d1000 608: }}} 609: 610: {{{ 611: ===> File: chrp/os/startup.c, Line: 1434, e002059c = unix:startup~_memlist+ea4 612: valloc~_sz = 0xf96000 613: }}} 614: 615: {{{ 616: ===> File: chrp/os/startup.c, Line: 1446, e0020674 = unix:startup~_memlist+f7c 617: valloc~_base = 0xe26d2000 618: nucleus~_alloc: perform~_allocations() valloc~_base: 619: remaining space = 0+0, need 16343040 620: valloc 621: valloc 622: valloc 623: valloc 624: valloc 625: valloc 626: valloc 627: valloc 628: valloc 629: [0] bzero(e26d2000, 1000) 630: [1] bzero(e26d3000, 1000) 631: [2] bzero(e26d4000, 10000) 632: [3] bzero(e26e4000, 500000) 633: [4] bzero(e2be4000, 1000) 634: [5] bzero(e2be5000, 1000) 635: [6] bzero(e2be6000, a00000) 636: [7] bzero(e35e6000, 80000) 637: [8] bzero(e3666000, 2000) 638: phys-installed: 2 elements 639: phys-avail: 4 elements 640: virt-avail: 14 elements 641: MEMLIST: phys-installed: 642: Address Size 643: ~----~---- 644: 0x0 0x10000000 645: MEMLIST: phys-avail: 646: Address Size 647: ~----~---- 648: 0x2e4000 0x21c000 649: 0x24c0000 0xd740000 650: MEMLIST: virt-avail: 651: Address Size 652: ~----~---- 653: 0x0 0x1800000 654: 0x184a000 0x6000 655: 0x1948000 0xde6b9000 656: 0xe03fc000 0x1000 657: 0xe09fd000 0x1603000 658: 0xe20d1000 0x1000 659: 0xe3668000 0x18998000 660: MEMLIST: phys~_avail: 661: Address Size 662: ~----~---- 663: 0x2e4000 0x21c000 664: 0x24c0000 0xd740000 665: Total: 2 ranges, 0xd95c000 bytes 666: startup.c:1481: Calling kphysm~_init()... 667: kphysm~_init/2625: pmem=1947018 668: kphysm~_init/2636: addr=2e4000 size=21c000 669: }}} 670: 671: {{{ 672: MEMSEG addr=0x2e4000 pgs=0x21c pfn 0x2e4-0x500, pmem=1947018, pp=e26e4000, cur~_memseg=e26d2000 673: kphysm~_init/2715: -> add~_physmem(pp=e26e4000, num=21c, base~_pfn=2e4) 674: mtype~_modify~_max: mnoderangecnt=2 675: mtype~_modify~_max: mtype=0, pfn=2e4, endpfn=500 676: mtype~_modify~_max: hipfn=fff, inc=21c, pfn=500 677: kphysm~_init/2717: <- add~_physmem 678: kphysm~_init/2625: pmem=1947030 679: kphysm~_init/2636: addr=24c0000 size=d740000 680: MEMSEG addr=0x24c0000 pgs=0xd740 pfn 0x24c0-0xfc00, pmem=1947030, pp=e26ee8c0, cur~_memseg=e26d2014 681: kphysm~_init/2715: -> add~_physmem(pp=e26ee8c0, num=d740, base~_pfn=24c0) 682: mtype~_modify~_max: mnoderangecnt=2 683: mtype~_modify~_max: mtype=0, pfn=24c0, endpfn=fc00 684: mtype~_modify~_max: mtype=1, pfn=24c0, endpfn=fc00 685: mtype~_modify~_max: hipfn=ffff, inc=d740, pfn=fc00 686: kphysm~_init/2717: <- add~_physmem 687: 688: ===> File: chrp/os/startup.c, Line: 2724, e0022ff8 = unix:kphysm~_init+5e8 689: availrmem~_initial = 0xd95c 690: ===> File: chrp/os/startup.c, Line: 2725, e0023028 = unix:kphysm~_init+618 691: availrmem = 0xd95c 692: ===> File: chrp/os/startup.c, Line: 2726, e0023058 = unix:kphysm~_init+648 693: freemem = 0xd95c 694: startup.c:1483: kphysm~_init() done 695: }}} 696: 697: {{{ 698: ===> File: chrp/os/startup.c, Line: 1484, e00207d4 = unix:startup~_memlist+10dc 699: npages = 0xd95c 700: print~_shared~_pages~_pt(fdc00000, 80000) 701: phys 702: share pages 703: ~----~---- 704: 1 9792 705: Mapping for valloc~_base = e26d2000 706: PTE @ fdc9b300: 707: [0] 0x80000f09 = {V=1,VSID=1e,H=0,API=9} va=e26d2000 708: [1] 0x152a190 = {RPN=152a,R=1,C=1,WIMG=2=~--m-,PP=0=SrwUxx} 709: }}} 710: 711: {{{ 712: ===> File: chrp/os/startup.c, Line: 1494, e0020834 = unix:startup~_memlist+113c 713: valloc~_base = 0xe26d2000 714: ===> File: chrp/os/startup.c, Line: 1495, e0020864 = unix:startup~_memlist+116c 715: valloc~_sz = 0xf96000 716: startup.c:1519: startup~_memlist() done 717: startup.c:1580: > startup~_kmem 718: }}} 719: 720: {{{ 721: ===> File: chrp/os/startup.c, Line: 1584, e0020bac = unix:startup~_kmem+70 722: heap~_base = 0xe3692000 723: ===> File: chrp/os/startup.c, Line: 1592, e0020c24 = unix:startup~_kmem+e8 724: boot~_kernelheap = 0xe36d2000 725: ===> File: chrp/os/startup.c, Line: 1601, e0020c98 = unix:startup~_kmem+15c 726: kernelheap = 0xe36d2000 727: ===> File: chrp/os/startup.c, Line: 1602, e0020cc8 = unix:startup~_kmem+18c 728: ekernelheap = 0xeb6d2000 729: startup.c:1610: > kmem~_init{{code}} 730: }}} 731: 732: THE KERNEL BANNER: WE ARE ALIVE 733: 734: ============================================================================== 735: 736: {{{ 737: {{/code}}SunOS Release 5.11 Version polaris/hat-shaw-2007-12-30@22:05 32-bit 738: Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved. 739: Use is subject to license terms. 740: DEBUG enabled 741: startup.c:1612: < kmem~_init 742: startup.c:1642: > bp~_init 743: startup.c:1644: < bp~_init 744: startup.c:1646: < startup~_kmem 745: startup.c:1658: startup~_modules() starting... 746: startup.c:1667: param~_calc 747: startup.c:1670: mod~_setup 748: modload(misc, cl~_bootstrap) 749: startup.c:1676: param~_init 750: startup.c:1687: hat~_init 751: }}} 752: 753: {{{ 754: ===> ../../ppc/vm/hat~_ppcmmu.c, line 351, hat~_init/ppcmmu~_lock~_init 755: }}} 756: 757: {{{ 758: ===> ../../ppc/vm/hat~_ppcmmu.c, line 354, hat~_init/ppcmmu~_init2 759: startup.c:1693: seg~_init 760: > seg~_init 761: > seg~_pinit 762: ** sema~_init 763: p~_hashtab = 0 764: physmem = 65535 765: ** seg~_pinit~_mem~_config() 766: > seg~_pinit~_mem~_config 767: < seg~_pinit~_mem~_config 768: < seg~_pinit 769: < seg~_init 770: startup.c:1696: modload specfs 771: 772: modload(fs, specfs) 773: startup.c:1700: modload devfs 774: 775: modload(fs, devfs) 776: startup.c:1704: dispinit 777: 778: modload(sched, TS) 779: Trying setup~_ddi() 780: -> setup~_ddi 781: Using default device instance data 782: -> impl~_ddi~_callback~_init 783: <- impl~_ddi~_callback~_init 784: -> log~_event~_init 785: <- log~_event~_init 786: -> fm~_init 787: <- fm~_init 788: -> i~_ddi~_load~_drvconf 789: <- i~_ddi~_load~_drvconf 790: -> ldi~_init 791: <- ldi~_init 792: -> i~_ddi~_devices~_init 793: <- i~_ddi~_devices~_init 794: -> i~_ddi~_read~_devices~_files 795: <- i~_ddi~_read~_devices~_files 796: <- setup~_ddi 797: Finished setup~_ddi() 798: Loading root modules 799: 800: modload(misc, tlimod) 801: modload(strmod, rpcmod) 802: modload(misc, nfs~_dlboot) 803: modload(mac, mac~_ether) 804: modload(misc, strplumb) 805: Finished loading root modules 806: Skipping cmi~_init() ~-- but that is OK. 807: startup.c:1760: startup~_modules() done 808: startup.c:1975: startup~_vm() starting... 809: 810: ===> File: chrp/os/startup.c, Line: 2063, e002195c = unix:startup~_vm+50 811: segmap~_start = 0xe3692000 812: 813: ===> File: chrp/os/startup.c, Line: 2064, e002198c = unix:startup~_vm+80 814: segmap~_reserved = 0x40000 815: 816: ===> File: chrp/os/startup.c, Line: 2065, e00219bc = unix:startup~_vm+b0 817: segmapsize = 0x40000 818: 819: ===> File: chrp/os/startup.c, Line: 2100, e0021a80 = unix:startup~_vm+174 820: segmap~_start = 0xe3694000 821: 822: ===> File: chrp/os/startup.c, Line: 2101, e0021ab0 = unix:startup~_vm+1a4 823: segmapsize = 0x3e000 824: 825: ===> File: chrp/os/startup.c, Line: 2103, e0021b08 = unix:startup~_vm+1fc 826: final~_kernelheap = 0xe36d2000 827: startup.c:2110: Calling hat~_kern~_alloc()... 828: startup.c:2112: hat~_kern~_alloc() done 829: startup.c:2117: Calling hat~_kern~_setup()... 830: startup.c:2119: hat~_kern~_setup() done 831: set~_callback: old 0x0 new 0xe00b07ec 832: ~----setup~_prom~_callbacks ~---- 833: traceback: %fp = e2003e80 834: traceback: fp=0xe2003e80, nextfp=0xe2003e90 835: e2003e80 e004100c unix:ppcmmu~_pt~_init~_vof+c0 836: traceback: fp=0xe2003e90, nextfp=0xe2003ea0 837: e2003e90 e004103c unix:ppcmmu~_pt~_init+18 838: traceback: fp=0xe2003ea0, nextfp=0xe2003ee0 839: e2003ea0 e0021c60 unix:startup~_vm+354 840: traceback: fp=0xe2003ee0, nextfp=0xe2003ef0 841: e2003ee0 e001eeb4 unix:startup+30 842: traceback: fp=0xe2003ef0, nextfp=0xe2003f50 843: e2003ef0 e0192c6c unix:main+d0 844: traceback: fp=0xe2003f50, nextfp=0x0 845: e2003f50 e0001110 unix:~_start+110 846: end of traceback 847: ~----setup~_prom~_callbacks ~---- 848: startup.c:2132: Protecting boot pages 849: Skipping hat~_cpu~_online(CPU) 850: startup.c:2154: Calling kvm~_init()... 851: -> seg~_attach(kas, start=e0001000, size=9fc000, ktextseg) 852: <- seg~_attach 853: **** NOTE: Ensure s~_moddata..e~_moddata is in kas. 854: -> segkmem~_create(ktextseg) 855: <- segkmem~_create 856: -> seg~_attach(kas, start=e26d2000, size=f96000, kvalloc) 857: <- seg~_attach 858: -> segkmem~_create(kvalloc) 859: <- segkmem~_create 860: -> seg~_attach(final~_kernelheap, ...) 861: <- seg~_attach 862: 863: ===> File: chrp/os/startup.c, Line: 2788, e0023298 = unix:kvm~_init+1f0 864: kvseg.s~_base = 0xe36d2000 865: -> segkmem~_create(&kvseg) 866: <- segkmem~_create 867: 868: ===> File: chrp/os/startup.c, Line: 2792, e00232ec = unix:kvm~_init+244 869: kvseg.s~_base = 0xe36d2000 870: startup.c:2156: kvm~_init() done 871: 872: ===> File: chrp/os/startup.c, Line: 2169, e0021d60 = unix:startup~_vm+454 873: final~_kernelheap = 0xe36d2000 874: 875: ===> File: chrp/os/startup.c, Line: 2223, e0021ddc = unix:startup~_vm+4d0 876: toxic~_bit~_map~_len = 0x7e00 877: 878: ===> File: chrp/os/startup.c, Line: 2227, e0021e5c = unix:startup~_vm+550 879: toxic~_bit~_map = 0xe3ece000 880: mem = 262144K (0x10000000) 881: Skipping hat~_init~_finish() 882: startup.c:2307: segkp~_create(segkp) 883: segkp~_create: segkp~_bitmap=e3ecc000, kpsd->kpsd~_arena=e3d4a690 884: segkp~_create: kmem~_zalloc 885: segkp~_create: -> segkpinit~_mem~_config 886: segkp~_create: <- segkpinit~_mem~_config 887: 888: ===> File: chrp/os/startup.c, Line: 2314, e0022008 = unix:startup~_vm+6fc 889: segkp = 0xe20722c0 890: Virtual address address map: 891: name start size end 892: ~----~----~----~---- 893: virt 0 100000000 100000000 894: name start size end 895: ~----~----~----~---- 896: user 0 e0000000 e0000000 897: kmem e0000000 10000000 f0000000 898: name start size end 899: ~----~----~----~---- 900: ktext e0000000 3fc000 e03fc000 901: e03fc000 1000 e03fd000 902: modtext e03fd000 600000 e09fd000 903: e09fd000 1603000 e2000000 904: kdata e2000000 d1000 e20d1000 905: e20d1000 601000 e26d2000 906: valloc e26d2000 f96000 e3668000 907: e3668000 8000 e3670000 908: iomem e3670000 20000 e3690000 909: e3690000 4000 e3694000 910: kmap e3694000 3e000 e36d2000 911: heap e36d2000 7e00000 eb4d2000 912: gap eb4d2000 4b2e000 f0000000 913: prom f0000000 f800000 ff800000 914: dbug ff800000 400000 ffc00000 915: gap ffc00000 400000 100000000 916: 917: ===> File: chrp/os/startup.c, Line: 2345, e0022124 = unix:startup~_vm+818 918: segmap = 0xe2072bdc 919: 920: ===> File: chrp/os/startup.c, Line: 2346, e0022154 = unix:startup~_vm+848 921: segmap~_start = 0xe3694000 922: 923: ===> File: chrp/os/startup.c, Line: 2347, e0022184 = unix:startup~_vm+878 924: segmapsize = 0x3e000 925: 926: ===> File: chrp/os/startup.c, Line: 2348, e00221b4 = unix:startup~_vm+8a8 927: segmap->s~_base = 0xe3694000 928: 929: ===> File: chrp/os/startup.c, Line: 2349, e00221e4 = unix:startup~_vm+8d8 930: segmap->s~_size = 0x3e000 931: startup.c:2366: Initialize segmap~_crargs a 932: startup.c:2371: -> segmap~_create 933: startup.c:2374: <- segmap~_create 934: Skipping segdev~_init() 935: Kernel address space: 936: start = e0001000, size = 9fc000 937: start = e26d2000, size = f96000 938: start = e3694000, size = 3e000 939: start = e36d2000, size = 7e00000 940: start = ff800000, size = 400000 941: startup.c:2388: startup~_vm() done 942: startup.c:2419: startup~_end() starting... 943: iomem~_map: PCI ISA: 944: virt=e3670000, phys=fe000000, size=10000 945: PTE @ fdcd9b80: 946: [0] 0x80000f0d = {V=1,VSID=1e,H=0,API=d} va=e3670000 947: [1] 0xfe000038 = {RPN=fe000,R=0,C=0,WIMG=7=-img,PP=0=SrwUxx} 948: iomem~_map: Discovery 2 internal: 949: virt=e3680000, phys=f1000000, size=10000 950: PTE @ fdcda780: 951: [0] 0x80000f0d = {V=1,VSID=1e,H=0,API=d} va=e3680000 952: [1] 0xf1000038 = {RPN=f1000,R=0,C=0,WIMG=7=-img,PP=0=SrwUxx} 953: startup.c:2468: Enabling interrupts 954: print~_shared~_pages~_pt(fdc00000, 80000) 955: phys 956: share pages 957: ~----~---- 958: 1 13575 959: startup.c:2515: Calling configure()... 960: configure entered 961: configure: returned from check~_driver~_disable() 962: impl~_ddi~_sunbus~_name~_child() returned "" 963: impl~_ddi~_sunbus~_initchild: returned from ddi~_set~_name~_addr 964: 965: modload(drv, rootnex) 966: root nexus = ODW,board 967: impl~_ddi~_sunbus~_name~_child() returned "" 968: impl~_ddi~_sunbus~_initchild: returned from ddi~_set~_name~_addr 969: impl~_ddi~_sunbus~_name~_child() returned "" 970: impl~_ddi~_sunbus~_initchild: returned from ddi~_set~_name~_addr 971: impl~_ddi~_sunbus~_name~_child() returned "" 972: impl~_ddi~_sunbus~_initchild: returned from ddi~_set~_name~_addr 973: 974: modload(drv, options) 975: modload(drv, pseudo) 976: pseudo0 at root 977: pseudo0 is /pseudo 978: 979: modload(drv, clone) 980: configure: returned from i~_ddi~_init~_root() 981: configure: returned from impl~_bus~_reprobe() 982: startup.c:2517: configure() done 983: mach~_softlvl~_to~_vect: ipl=1, psm~_set~_softint=0x0 984: hat~_init~_userland: vsidr=1 985: startup.c:2539: startup~_end() done 986: 987: [progress bar start] 988: mach~_softlvl~_to~_vect: ipl=10, psm~_set~_softint=0x0 989: mach~_softlvl~_to~_vect: ipl=2, psm~_set~_softint=0x0 990: clkstart: loaded decrementer with 0x51615. 991: Leaving cbe~_init: 992: 993: lgrp~_plat~_probe: max~_mem~_nodes=1, topo~_limit=4 994: cpuid.c -> cpuid~_get~_chipid: cpu~_id is not being read for PPC. 995: cpuid.c -> cpuid~_get~_coreid: cpi~_coreid is not being read for PPC. 996: vfs~_mountroot: about to call rootconf(){{code}} 997: 998: TIME TO LOAD THE KERNEL MODULES 999: }}} 1000: 1001: =========================================================================== 1002: 1003: 1004: {{{ 1005: {{/code}}modload(fs, nfs) 1006: modload(drv, dld) 1007: pseudo-device: dld0 1008: dld0 is /pseudo/dld@0 1009: modload(drv, ip) 1010: modload(drv, ip6) 1011: modload(drv, tcp) 1012: modload(drv, tcp6) 1013: modload(drv, udp) 1014: modload(drv, udp6) 1015: modload(drv, sctp) 1016: modload(drv, sctp6) 1017: modload(drv, icmp) 1018: }}} 1019: 1020: {{{ 1021: modload(drv, icmp6) 1022: modload(drv, arp) 1023: modload(strmod, timod) 1024: modload(drv, sad) 1025: impl~_sunbus~_name~_child: hack - NEEDSWORK! 1026: impl~_ddi~_sunbus~_name~_child() returned "c0000000" 1027: impl~_ddi~_sunbus~_initchild: returned from ddi~_set~_name~_addr 1028: impl~_sunbus~_name~_child: hack - NEEDSWORK! 1029: impl~_ddi~_sunbus~_name~_child() returned "80000000" 1030: impl~_ddi~_sunbus~_initchild: returned from ddi~_set~_name~_addr 1031: 1032: modload(drv, pci) 1033: pci1 at root: space 80000000 offset 40000000 1034: ddi~_map: map~_func=pci:pci~_bus~_map 1035: ddi~_map: map~_func=pci:pci~_bus~_map 1036: 1037: modload(drv, vfe) 1038: ddi~_map: map~_func=pci:pci~_bus~_map 1039: ddi~_map: map~_func=pci:pci~_bus~_map 1040: ddi~_map: map~_func=pci:pci~_bus~_map 1041: ddi~_map: map~_func=rootnex:rootnex~_map 1042: ddi~_map: map~_func=pci:pci~_bus~_map 1043: ddi~_map: map~_func=rootnex:rootnex~_map 1044: ddi~_map: map~_func=pci:pci~_bus~_map 1045: ddi~_map: map~_func=rootnex:rootnex~_map 1046: ddi~_map: map~_func=pci:pci~_bus~_map 1047: ddi~_map: map~_func=pci:pci~_bus~_map 1048: ddi~_map: map~_func=pci:pci~_bus~_map 1049: ddi~_map: map~_func=pci:pci~_bus~_map 1050: ddi~_map: map~_func=pci:pci~_bus~_map 1051: ddi~_map: map~_func=pci:pci~_bus~_map 1052: ddi~_map: map~_func=pci:pci~_bus~_map 1053: ddi~_map: map~_func=pci:pci~_bus~_map 1054: tod~_set: not yet implemented!!! 1055: WARNING: Time-of-day chip unresponsive; dead batteries? 1056: Requesting Internet address for 0:b:2f:4f:80:3 1057: Found my IP address: c0a8010b (192.168.1.11) 1058: hostname: polariscl 1059: domainname: sunlabs.sfbay.sun.com 1060: tod~_set: not yet implemented!!! 1061: WARNING: Time-of-day chip unresponsive; dead batteries? 1062: root on polarisbs:/bootserv/nfsroot fstype nfsdyn 1063: 1064: modload(fs, devfs) 1065: modload(fs, dev) 1066: modload(fs, ctfs) 1067: modload(fs, procfs) 1068: WARNING: Cannot mount /proc 1069: WARNING: Cannot find /etc/mnttab 1070: 1071: modload(fs, tmpfs) 1072: modload(fs, objfs) 1073: mach~_softlvl~_to~_vect: ipl=2, psm~_set~_softint=0x0 1074: startup.c:2545: post~_startup() starting... 1075: startup.c:2547: post~_startup() done 1076: 1077: modload(drv, conskbd) 1078: modload(drv, consms) 1079: }}} 1080: 1081: {{{ 1082: modload(drv, wc) 1083: modload(drv, iwscn) 1084: ddi~_map: map~_func=pci:pci~_bus~_map 1085: ddi~_map: map~_func=pci:pci~_bus~_map 1086: 1087: modload(drv, isa) 1088: PCI-device: isa0 1089: 1090: modload(drv, asy) 1091: ddi~_map: map~_func=isa:isa~_map 1092: ddi~_map: map~_func=pci:pci~_bus~_map 1093: ddi~_map: map~_func=rootnex:rootnex~_map 1094: ddi~_map: map~_func=isa:isa~_map 1095: ddi~_map: map~_func=pci:pci~_bus~_map 1096: ddi~_map: map~_func=rootnex:rootnex~_map 1097: ddi~_map: map~_func=isa:isa~_map 1098: ddi~_map: map~_func=pci:pci~_bus~_map 1099: ddi~_map: map~_func=rootnex:rootnex~_map 1100: mach~_softlvl~_to~_vect: ipl=4, psm~_set~_softint=0x0 1101: ddi~_map: map~_func=isa:isa~_map 1102: ddi~_map: map~_func=pci:pci~_bus~_map 1103: ddi~_map: map~_func=rootnex:rootnex~_map 1104: ddi~_map: map~_func=isa:isa~_map 1105: ddi~_map: map~_func=pci:pci~_bus~_map 1106: ddi~_map: map~_func=rootnex:rootnex~_map 1107: ISA-device: asy0 1108: asy0 is /pci@80000000/isa@c/serial@i2f8 1109: 1110: modload(drv, kssl){{code}} 1111: }}} 1112: 1113: NOW WE ARE STARTING INIT - BUT WE HAVE A STATICALLY LINKED USERLAND SHELL 1114: 1115: INSTEAD AND HAVE RENAMED IT FOR INIT AND IT GIVES US A PROMPT 1116: 1117: =========================================================================== 1118: 1119: {{{ 1120: {{/code}}> start~_init 1121: > start~_init~_common 1122: ppcmmu~_alloc: > vmem~_alloc 1123: ppcmmu~_alloc: < vmem~_alloc 1124: ppcmmu~_setup: not kernel hat 1125: ppcmmu~_setup: > mmu~_segload 1126: ppcmmu~_setup: < mmu~_segload 1127: > exec~_init(/sbin/init, 0xe200d478) 1128: exec~_init: cnt~_exec~_init=1 1129: exec~_init: argvlen=12 1130: exec~_init: p=e4e33408 1131: exec~_init: p->p~_usrstack=dffff000 1132: t~_copyops == NULL 1133: 1134: gexec: magic = { 7f 45 4c 46 01 02 01 00 } 1135: 1136: modload(exec, elfexec) 1137: 1138: > elfexec 1139: 1140: elfexec: level = 0 1141: > elfexec -> getelfhead 1142: < elfexec -> getelfhead 1143: > elfexec -> getelfphdr 1144: < elfexec -> getelfphdr 1145: exec~_args: size = 4096 1146: ppcmmu~_alloc: > vmem~_alloc 1147: ppcmmu~_alloc: < vmem~_alloc 1148: ppcmmu~_setup: not kernel hat 1149: ppcmmu~_setup: > mmu~_segload 1150: ppcmmu~_setup: < mmu~_segload 1151: > exec~_args -> stk~_copyout 1152: -> grow 1153: -> grow~_internal: sp=dfffefc0, growszc=0 1154: <- grow~_internal: newsize=1000 1155: <- grow 1156: < exec~_args -> stk~_copyout 1157: execmap: calling uzero(0x20981d4, 0xe2c) (on~_fault in place) 1158: < elfexec 1159: setregs: r3 (argc) 0x2 r4 (argcv) 0xdfffefc4 r5 (envp) 0xdfffefd0 r6 (auxv) 0xdfffefd4 1160: < exec~_init ~-- rc=0 1161: map~_addr~_proc(addrp 0xe4eaff38, len 0x6000, off 0x0, vacalign 0x0, userlimit 0xe0001000, p 0xe4e33408, flags 0x382) 1162: traceback: %fp = e4eafdd0 1163: traceback: fp=0xe4eafdd0, nextfp=0xe4eafe10 1164: e4eafdd0 e0028324 unix:map~_addr+a4 1165: traceback: fp=0xe4eafe10, nextfp=0xe4eafe90 1166: e4eafe10 e015e010 unix:zmap+14c 1167: traceback: fp=0xe4eafe90, nextfp=0xe4eaff10 1168: e4eafe90 e015e31c unix:smmap~_common+240 1169: traceback: fp=0xe4eaff10, nextfp=0xe4eaff50 1170: e4eaff10 e015e774 unix:smmap32+b0 1171: traceback: fp=0xe4eaff50, nextfp=0x0 1172: e4eaff50 e00023dc unix:sys~_call+f0 1173: end of traceback 1174: map~_addr~_proc: base 0x10000 slen 0x2089ca8 p->p~_brkbase 0x2099ca8 1175: map~_addr~_proc: base 0x10000 slen 0x1ff0000 len 0x18000 1176: map~_addr~_proc: addr 0x1fe9000 1177: map~_addr~_proc: addr 0x1fe0000 1178: map~_addr~_proc: addr 0x1fe0000 1179: map~_addr~_proc: addr 0x1ff0000 1180: map~_addr~_proc: returning addrp 0x1ff0000 1181: 1182: modload(drv, cn) 1183: -> grow 1184: -> grow~_internal: sp=dfffdd60, growszc=0 1185: <- grow~_internal: newsize=2000 1186: <- grow 1187: -> map~_addr~_proc(addrp 0xe4eafe74, len 0x1000, off 0xe4f92000, vacalign 0x1, userlimit 0xe0001000, p 0xe4e33408, flags 0x0) 1188: traceback: %fp = e4eafe20 1189: traceback: fp=0xe4eafe20, nextfp=0xe4eafe60 1190: e4eafe20 e0028324 unix:map~_addr+a4 1191: traceback: fp=0xe4eafe60, nextfp=0xe4eafed0 1192: e4eafe60 e01ec1b4 unix:schedctl~_map+70 1193: traceback: fp=0xe4eafed0, nextfp=0xe4eaff20 1194: e4eafed0 e01ebe24 unix:schedctl~_shared~_alloc+130 1195: traceback: fp=0xe4eaff20, nextfp=0xe4eaff50 1196: e4eaff20 e01eb440 unix:schedctl+44 1197: traceback: fp=0xe4eaff50, nextfp=0x0 1198: e4eaff50 e00023dc unix:sys~_call+f0 1199: end of traceback 1200: map~_addr~_proc: base 0x10000 slen 0x2089ca8 p->p~_brkbase 0x2099ca8 1201: map~_addr~_proc: base 0x10000 slen 0x1fe0000 len 0x13000 1202: map~_addr~_proc: addr 0x1fde000 1203: map~_addr~_proc: addr 0x1fd0000 1204: map~_addr~_proc: addr 0x1fd2000 1205: map~_addr~_proc: addr 0x1fe2000 1206: map~_addr~_proc: returning addrp 0x1fe2000 1207: ppcmmu~_alloc: > vmem~_alloc 1208: ppcmmu~_alloc: < vmem~_alloc 1209: Can’t exec hello{{code}} 1210: }}} 1211: 1212: SILLY ME I TRIED TO EXECUTE "HELLO" BUT THAT IS NOT THE CORRECT PROGRAM NAME 1213: 1214: ============================================================================ 1215: 1216: {{{ 1217: {{/code}}-> map~_addr~_proc(addrp 0xe4fa1e74, len 0x1000, off 0xe4f91000, vacalign 0x1, userlimit 0xe0001000, p 0xe4e32b88, flags 0x0) 1218: traceback: %fp = e4fa1e20 1219: traceback: fp=0xe4fa1e20, nextfp=0xe4fa1e60 1220: e4fa1e20 e0028324 unix:map~_addr+a4 1221: traceback: fp=0xe4fa1e60, nextfp=0xe4fa1ed0 1222: e4fa1e60 e01ec1b4 unix:schedctl~_map+70 1223: traceback: fp=0xe4fa1ed0, nextfp=0xe4fa1f20 1224: e4fa1ed0 e01ebe24 unix:schedctl~_shared~_alloc+130 1225: traceback: fp=0xe4fa1f20, nextfp=0xe4fa1f50 1226: e4fa1f20 e01eb440 unix:schedctl+44 1227: traceback: fp=0xe4fa1f50, nextfp=0x0 1228: e4fa1f50 e00023dc unix:sys~_call+f0 1229: end of traceback 1230: map~_addr~_proc: base 0x10000 slen 0x2089ca8 p->p~_brkbase 0x2099ca8 1231: map~_addr~_proc: base 0x10000 slen 0x1fe0000 len 0x13000 1232: map~_addr~_proc: addr 0x1fde000 1233: map~_addr~_proc: addr 0x1fd0000 1234: map~_addr~_proc: addr 0x1fd1000 1235: map~_addr~_proc: addr 0x1fe1000 1236: map~_addr~_proc: returning addrp 0x1fe1000 1237: ppcmmu~_alloc: > vmem~_alloc 1238: ppcmmu~_alloc: < vmem~_alloc 1239: Can’t exec hello-hello-kprintf{{code}} 1240: }}} 1241: 1242: ONCE AGAIN I MISTYPD THE PROGRAM NAME 1243: 1244: =========================================================================== 1245: 1246: 1247: {{{ 1248: {{/code}}-> map~_addr~_proc(addrp 0xe4f95e74, len 0x1000, off 0xe4f90000, vacalign 0x1, userlimit 0xe0001000, p 0xe4e32308, flags 0x0) 1249: traceback: %fp = e4f95e20 1250: traceback: fp=0xe4f95e20, nextfp=0xe4f95e60 1251: e4f95e20 e0028324 unix:map~_addr+a4 1252: traceback: fp=0xe4f95e60, nextfp=0xe4f95ed0 1253: e4f95e60 e01ec1b4 unix:schedctl~_map+70 1254: traceback: fp=0xe4f95ed0, nextfp=0xe4f95f20 1255: e4f95ed0 e01ebe24 unix:schedctl~_shared~_alloc+130 1256: traceback: fp=0xe4f95f20, nextfp=0xe4f95f50 1257: e4f95f20 e01eb440 unix:schedctl+44 1258: traceback: fp=0xe4f95f50, nextfp=0x0 1259: e4f95f50 e00023dc unix:sys~_call+f0 1260: end of traceback 1261: map~_addr~_proc: base 0x10000 slen 0x2089ca8 p->p~_brkbase 0x2099ca8 1262: map~_addr~_proc: base 0x10000 slen 0x1fe0000 len 0x13000 1263: map~_addr~_proc: addr 0x1fde000 1264: map~_addr~_proc: addr 0x1fd0000 1265: map~_addr~_proc: addr 0x1fd0000 1266: map~_addr~_proc: addr 0x1fe0000 1267: map~_addr~_proc: returning addrp 0x1fe0000 1268: ppcmmu~_alloc: > vmem~_alloc 1269: ppcmmu~_alloc: < vmem~_alloc 1270: 1271: gexec: magic = { 7f 45 4c 46 01 02 01 00 }` 1272: 1273: OK I’VE GOT IT - "HELLO-KPRINTF" WHICH SPITS OUT THE HELLO WORLD 1274: }}} 1275: 1276: =========================================================================== 1277: 1278: {{{ 1279: {{code}}> elfexec 1280: 1281: elfexec: level = 0 1282: > elfexec -> getelfhead 1283: < elfexec -> getelfhead 1284: > elfexec -> getelfphdr 1285: < elfexec -> getelfphdr 1286: exec~_args: size = 4096 1287: ppcmmu~_alloc: > vmem~_alloc 1288: ppcmmu~_alloc: < vmem~_alloc 1289: ppcmmu~_setup: not kernel hat 1290: ppcmmu~_setup: > mmu~_segload 1291: ppcmmu~_setup: < mmu~_segload 1292: > exec~_args -> stk~_copyout 1293: -> grow 1294: -> grow~_internal: sp=dfffefa0, growszc=0 1295: <- grow~_internal: newsize=1000 1296: <- grow 1297: < exec~_args -> stk~_copyout 1298: < elfexec 1299: setregs: r3 (argc) 0x1 r4 (argcv) 0xdfffefa4 r5 (envp) 0xdfffefac r6 (auxv) 0xdfffefb8 1300: 1301: Hello, world! [1] 1302: Hello, world! [2] 1303: Hello, world! [3] 1304: Hello, world! [4] 1305: Hello, world! [5] 1306: Hello, world! [6] 1307: Hello, world! [7] 1308: Hello, world! [8] 1309: Hello, world! [9] 1310: Hello, world! [10] 1311: Hello, world! 1312: 1313: -> ppcmmu~_alloc: > vmem~_alloc 1314: ppcmmu~_alloc: < vmem~_alloc 1315: Unimplemented function: lwp~_stk~_fini(){{/code}} 1316: }}} 1317: 1318: HERE WE FORCE AN EXCEPTION AND IT DUMPS US BACK INTO PMDB 1319: 1320: =========================================================================== 1321: 1322: {{{ 1323: `Giving up... 1324: }}} 1325: 1326: thread = e48587e0: 1327: lwp = e4d5e3a0 1328: lwp errno = 0 1329: t~_sysnum = 8e 1330: t~_astflag = 1 1331: t~_sig~_check = 0 1332: traceback: %fp = e4f95c90 1333: traceback: fp=0xe4f95c90, nextfp=0xe4f95d30 1334: e4f95c90 e007d8c8 unix:panic+88 1335: traceback: fp=0xe4f95d30, nextfp=0xe4f95d50 1336: e4f95d30 e0051800 unix:unimplemented~_fn+38 1337: traceback: fp=0xe4f95d50, nextfp=0xe4f95d60 1338: e4f95d50 e0051d08 unix:lwp~_stk~_fini+20 1339: traceback: fp=0xe4f95d60, nextfp=0xe4f95e20 1340: e4f95d60 e0185e04 unix:lwp~_create+49c 1341: traceback: fp=0xe4f95e20, nextfp=0xe4f95e80 1342: e4f95e20 e0189054 unix:forklwp+154 1343: traceback: fp=0xe4f95e80, nextfp=0xe4f95f20 1344: e4f95e80 e0153ab0 unix:cfork+708 1345: traceback: fp=0xe4f95f20, nextfp=0xe4f95f50 1346: e4f95f20 e01532fc unix:forksys+6c 1347: traceback: fp=0xe4f95f50, nextfp=0x0 1348: e4f95f50 e00023dc unix:sys~_call+f0 1349: end of traceback 1350: MMU state: 1351: ~---- 1352: IBAT0={0, 0} 1353: IBAT1={0, 0} 1354: IBAT2={0, 0} 1355: IBAT3={0, 0} 1356: DBAT0={0, 0} 1357: DBAT1={0, 0} 1358: DBAT2={0, 0} 1359: DBAT3={0, 0} 1360: Segment registers: 1361: 1362: 00: 20000040={T=0,Ks=0,Kp=1,N=0,VSID=40} * 1363: 01: 20000041={T=0,Ks=0,Kp=1,N=0,VSID=41} * 1364: 02: 20000042={T=0,Ks=0,Kp=1,N=0,VSID=42} * 1365: 03: 20000043={T=0,Ks=0,Kp=1,N=0,VSID=43} * 1366: 04: 20000044={T=0,Ks=0,Kp=1,N=0,VSID=44} * 1367: 05: 20000045={T=0,Ks=0,Kp=1,N=0,VSID=45} * 1368: 06: 20000046={T=0,Ks=0,Kp=1,N=0,VSID=46} * 1369: 07: 20000047={T=0,Ks=0,Kp=1,N=0,VSID=47} * 1370: 08: 20000048={T=0,Ks=0,Kp=1,N=0,VSID=48} * 1371: 09: 20000049={T=0,Ks=0,Kp=1,N=0,VSID=49} * 1372: 10: 2000004a={T=0,Ks=0,Kp=1,N=0,VSID=4a} * 1373: 11: 2000004b={T=0,Ks=0,Kp=1,N=0,VSID=4b} * 1374: 12: 2000004c={T=0,Ks=0,Kp=1,N=0,VSID=4c} * 1375: 13: 2000004d={T=0,Ks=0,Kp=1,N=0,VSID=4d} * 1376: 14: 2000001e={T=0,Ks=0,Kp=1,N=0,VSID=1e} 1377: 15: 2000001f={T=0,Ks=0,Kp=1,N=0,VSID=1f} 1378: SDR1=fc0003f={HTABORG=fc00000=252M,HTABMASK=3f} ptsize=4M 1379: HID0=0x8410c09c 1380: {{{ 1381: =8410c09c<TBEN,DPM,ICE,DCE,SGE,LRSTK,FOLD,BHT> 1382: HID1=0x2c80 1383: =2c80<PC3,SYNCBE,ABE> 1384: }}} 1385: 1386: Statistics: 1387: mutex~_enter: enter=519192, owned=2227, lost~_resv=0 1388: mutex~_tryenter: enter=35281, owned=0, lost~_resv=0 1389: atomic: interference=0, lost~_resv=0, ov32=0, ovfld=0 1390: PMDB configuration: 1391: Startup: 1392: {{{ 1393: Unit test (ut) : 0 1394: Copy handlers (ch) : 1 1395: Enable Interrupts (ei) : 1 1396: Read-only ktext (ro) : 1 1397: Run configure (config) : 1 1398: Run ttyinit (ttyinit) : 1 1399: Debug init (dbinit) : 1 1400: Run demo (demo) : 0 1401: Debug: 1402: Trap debug (td) : 0 1403: CBE debug (cbe) : 0 1404: Genassym (ga) : 0 1405: MMU Flight Rec (mfr) : 0 1406: Int Flight Rec (ifr) : 0 1407: Panic Watch (pwatch) : 0 1408: kmem~_flags (kmf) : d 1409: PMDB = Poor Man’s DeBugger 1410: Commands are: 1411: mmufr Show MMU flight recorder 1412: mod Show modules 1413: vmem Show vmems: heap, module {text, data, ctf} 1414: dump Show virtual memory (takes address and 32-bit count) 1415: trans Show PROM virtual to physical memory translations 1416: ptrans Show translations from pagetable 1417: ptstat Show pagetable statistics 1418: ptegp Show entire PTEG pair for a given virtual address 1419: devs Show device tree 1420: intr Show information about interrupts 1421: reboot Reboot the target 1422: go Exit debugger and continue running Solaris 1423: pmdb panic:~.~.~. 1424: Unknown command, ~.~.~. 1425: Type ’?’ for help on PMDB commands. 1426: pmdb panic:~{{code}} 1427: }}} 1428: 1429: {{/code}}======> VOF is now loaded 1430: ======> Use this simple VOF command that will load a kernel from your 1431: ======> bootserver nfsroot proto/root 1432: 1433: ======> but first let’s get inetboot from tftpboot 1434: 1435: =====> Got KRTLD, let’s get rolling 1436: 1437: =====> See where you have loaded the kernel 1438: 1439: {{{ 1440: module /platform/chrp/kernel/unix: text at [0xe0001000, 0xe03c8e0f] data at 0xe2000000 1441: module misc/krtld: text at [0xe03c8e10, 0xe03f30eb] data at 0xe20bc078 1442: }}} 1443: 1444: =====> Here are the first statements from the kernel 1445: 1446: 1447: 1448: Here are the loaded modules 1449: 1450: id text-va text-sz name file-name flags 1451: ~----~----~----~----~----~---- 1452: 0 e0001000 3c8a30 unix /platform/chrp/kernel/unix 1453: 1 e03c9a30 2a2dc krtld misc/krtld 1454: 2 0 0 cl~_bootstrap misc/cl~_bootstrap 1455: 3 e03f5000 8c1c specfs fs/specfs 1456: 4 0 0 dtrace dtrace 1457: 5 e03fdc1c 918c devfs fs/devfs 1458: 6 e0406da8 6294 TS sched/TS 1459: 7 e040d03c 16c TS~_DPTBL sched/TS~_DPTBL 1460: 8 e040d1a8 22a4 swapgeneric misc/swapgeneric 1461: 9 e040f44c c96e8 nfs fs/nfs 1462: 10 e04d8b34 28bd0 rpcmod strmod/rpcmod 1463: 11 e0501704 2d44 tlimod misc/tlimod 1464: 12 e0504448 8b2c rpcsec misc/rpcsec 1465: 13 e050cf74 135c4 vfe drv/vfe 1466: 14 e0520538 4c8c mac misc/mac 1467: 15 e05251c4 209f00 ip drv/ip 1468: 16 e072f0c4 4de4 md5 misc/md5 1469: 17 e0733ea8 2e29c kcf misc/kcf 1470: 18 e0762144 1e44 swrand crypto/swrand 1471: 19 e0763f88 208c hook misc/hook 1472: 20 e0766014 160c neti misc/neti 1473: 21 e0767620 3c7c pci drv/pci 1474: 22 e076b29c 889c rootnex drv/rootnex 1475: 23 e0773b38 75fc nfs~_dlboot misc/nfs~_dlboot 1476: 24 e077b134 3234 strplumb misc/strplumb 1477: 25 e077e368 90c mac~_ether mac/mac~_ether 1478: 26 e077ec74 a4d4 dld drv/dld 1479: 27 e0789148 8154 dls misc/dls 1480: 28 e079129c 434 ip6 drv/ip6 1481: 29 e07916d0 44c tcp drv/tcp 1482: 30 e0791b1c 45c tcp6 drv/tcp6 1483: 31 e0791f78 4a4 udp drv/udp 1484: 32 e079241c 454 udp6 drv/udp6 1485: 33 e0792870 42c sctp drv/sctp 1486: 34 e0792c9c 434 sctp6 drv/sctp6 1487: 35 e07930d0 d530 icmp drv/icmp 1488: 36 e07a0600 44c icmp6 drv/icmp6 1489: 37 e07a0a4c a0cc arp drv/arp 1490: 38 e07aab18 6cec timod strmod/timod 1491: 39 e07b1804 234 options drv/options 1492: 40 e07b1a38 f94 pseudo drv/pseudo 1493: 41 e07b29cc 89c clone drv/clone 1494: 42 e07b3268 1734 sad drv/sad 1495: 43 e07b499c 18e84 dev fs/dev 1496: 44 e07cd820 4004 ctfs fs/ctfs 1497: 45 0 0 procfs fs/procfs 1498: 46 e07d1824 b4e4 tmpfs fs/tmpfs 1499: 47 e07dcd08 2a4c objfs fs/objfs 1500: 48 e07df754 1e4 consconfig misc/consconfig 1501: 49 e07df938 481c consconfig~_dacf dacf/consconfig~_dacf 1502: 50 e07e4154 410c conskbd drv/conskbd 1503: 51 e07e8260 55cc kbtrans misc/kbtrans 1504: 52 e07ed82c 24e4 consms drv/consms 1505: 53 e07efd10 213c wc drv/wc 1506: 54 e07f1e4c 68c4 tem misc/tem 1507: 55 e07f8710 129c iwscn drv/iwscn 1508: 56 e07f99ac 3234 isa drv/isa 1509: 57 e07fcbe0 3434 busra misc/busra 1510: 58 e0800014 b914 asy drv/asy 1511: 59 e080b928 c924 kssl drv/kssl 1512: 60 e081824c 67b4 elfexec exec/elfexec 1513: 61 e081ea00 b64 cn drv/cn`
Search
Collectives
Community Group
Academic and Research
Accessibility
Advocacy
Appliances
Approachability
Architecture Process and Tools
BrandZ
Chinese Users
Community Advisory Board
Databases
Desktop
Device Drivers
Distribution
Documentation
DTrace
Emerging Platforms
Fault Management
Games on OpenSolaris
HA Clusters
HPC Developer
Installation and Packaging
Internationalization and Localization
Laptop
Logical Domains
Modular Debugger (MDB)
Networking
NFS
Observability
OpenSolaris Governing Board (OGB)
OpenSolaris Printing
OS/Net (ON)
Performance
Power Management
PowerPC
Security
Service Management Facility (smf(5))
Software Porters
Solaris Volume Manager
Storage
Systems Administration Community Group
Testing
Tools Home
Unix File Systems (UFS)
Website Community
X Window System
Xen
ZFS
Zones
Project
ADSL Modem Enhancement
ARC Process Definition
ARM Platform Port
Automatic Data Migration
BIND Update
Bluetooth Stack & Drivers
Brocade FC HBA - Initiator
Brocade FC HBA - Target
Brussels - unified network link configuration
Caiman, Solaris Install Revisited
Celeste
Český portál
Chime Visualization Tool for DTrace
CIFS client for Solaris
CIFS Server
Clearview: Network Interface Coherence
Cluster Agent: Informix Dynamic Server
Cluster Agent: OpenSolaris Container
Cluster Agent: OpenSolaris xVM
Cluster Agent: Oracle E-Business Suite
Cluster agent: PostgreSQL
Cluster Agent: Samba
Cluster Agent: Tomcat
CMT
Coarse Data Flow Parallelism
Colorado: Open HA Cluster on OpenSolaris
Command Assistant
Common Array Manager
Companion - /opt/sfw: Free and Open Source software
COMSTAR: Common Multiprotocol SCSI Target
Content
Contest
CPU Observability
Credentials Process Groups
Crossbow: Network Virtualization and Resource Control
Crypto KMS Agent Toolkit
Cryptographic Framework
Data Migration Manager
Data Tethers
Deutsches Portal
Device Detection Tool
Device Driver Utility
Device Manager
Device Mapper
Direct Rendering Infrastructure & 3D drivers
DTrace Guide
Duckwater: Simplified name services management
Easy Tools
Emancipation
Emulex Fibre Channel Device Driver
Emulex Advanced Ethernet Device Driver
Enable/Enhance Solaris support for Intel Platform
Enhance the support of USB webcams
Enhanced SMF Profiles
Enhancements for AMD-based Platforms
Erlang DTrace Integration
Ethernet bridge module for Solaris
Evaluate Conary
Events Registry
Ext3 file system support
F/OSS Package Base
Facilitation
Fibre Channel over Ethernet
Fine Grained Access Policy (FGAP)
Fingerprint Authentication
Flexible Mandatory Access Control
Forensic Tools
Fully Open X Project
Fuse on Solaris
gcore
Generic Machine Check Architecture Improvements
Google SOC
HA-JBoss
HA-MySQL
Hadoop Live CD
Hitachi
HoneyComb Fixed Content Storage
HPC Stack
Image Packaging System
Improved Performance MIB
Indiana
Innovation Awards
Input Method
Intel Graphics
Interrupt Resource Management
IP Datapath Refactoring
IP over Infiniband
IPsec Tunnel Reform
iSCSI Extensions for Remote DMA (iSER)
iSNS Server
JeOS - Just enough Operating System
JKstat - a java binding for libkstat
Journaled File System (JFS)
K Desktop Environment
Kerberos
Kernel Sockets
Kernel SSL Enhancements
Key Management Framework
Korn Shell 93 integration/migration project
Labeled IPsec
LatencyTOP
Layer 2 Filtering
LDoms Manager
Lending
libMicro - portable microbenchmarks
Link Layer Discovery
Live Media: Technologies for distributions running from CD and other media
Locale Data
lofi compression and cryptography support
lx64 brand
Media Management System
Mega_sas
Mexico
MilaX minimal Live Distribution
MIPS Platform Port
Mozilla DTrace
MRSL.NONsharedDevice
Multi-lingual Glossary
Multi-pathing software (MPxIO)
Multiple disk sector size support
Multiple DOI
Muskoka: An open repository for OpenSolaris technical content
Navigator
Nemo: A Framework for High-Performance Networking
Network Auto-Magic
Network Data Management Protocol
Network MIBs
Network Storage
Network Time Protocol (NTP)
Nevada Globalization
New Design of 4over6 Mechanism Based on OpenSolaris
NFS RDMA transport update and performance analysis
NFS Server in non-Global Zones
NFS version 4.1 pNFS
NFSv4 namespace extensions
Nightingale: Port Songbird to OpenSolaris
NPort ID Virtualization (NPIV)
NUMA
Object Storage Device (OSD) support for Solaris
OHACGE Script Based Plug-in
ON/Nevada (ONNV) Project
Open Development Infrastructure
Open HA Cluster Utilities
Open Sound System
OpenGrok
OpenPegasus CIM Server
OpenRTI
OpenSolaris Busybox
OpenSolaris Desktop
OpenSolaris Hispano
OpenSolaris Security Audit
OpenSolaris support for the QEMU processor emulator: host and guest
PEF: Packet Event Framework
Performance Wrappers
Pkgfactory
Polski Portal
Portail Francophone
Portal Brasil
Portals
Power Management Usability Interfaces
Presto: Automatic Printing Configuration
Printable Many Page Solaris Manuals
Promise SuperTrak RAID HBA Driver
QLogic Converged Network Adapter GLDv3 NIC Driver
Quagga Routing Protocol Suite Integration
RAID Configuration Utility
RBridge (IETF TRILL) support
RDMA Offload Framework
Reno: Login Process Enhancements for Interop
Resource Management
s10brand
SAM/QFS
SCM Migration Project
SCSI RDMA Protocol
SDcard Drivers
Sensor Abstraction Layer
Session Initiation Protocol
SFW
Shell: bourne shell, korn shell, C shell, etc.
Sierra: Intel WiFi Chipsets Support
Simple Panels
SM-HBA Based SAS HBA Management
SMF Documentation
Solaris iSCSI Target
Solaris PowerPC Port
SourceJuicer
Sparks: name service switch/nscd enhancements
Squashfs
Star integration/migration project
Starfish
Starter Kit
Storage Power Management
Sun Security Toolkit
Sun StorageTek Availability Suite
Support for OpenFabrics User Verbs / API on OpenSolaris OS
Support gcc4/GCCfss in Solaris
Suspend/Resume
SVR4 Packaging
Systemz
Tamarack: Removable Media Enhancements in Solaris
Tesla: OpenSolaris Enhanced Power Management
Test Development
Tickless Kernel Architecture
TIPC
Trademarks
Trusted networking interface policy database for Trusted Extensions
Trusted Platform Module support
Use Case
Validated Execution Project
Virtual Console
Virtual Network Machines
Visual Panels
Visualization for HPC
Volo
VRRP: Virtual Router Redundancy Protocol Implementation
VSCAN service
Web Stack
Website
Winchester: Schema mapping and ID mapping for AD Interoperability
Wireless USB Support
Wireless Wide Area Network
X Consolidation
x86 Generic FMA Topology Enumerator
Xen Gate
Xfce: A lightweight desktop environment
ZFS Boot and Install
ZFS on disk encryption support
Zone Manager
Zone Statistics
Русский портал
البوابة العربية
भारतीय पोर्टल
中国门户
日本ポータル
한국 포탈
User Group
Adelaide
Argentina
Arizona
Atlanta
Baltimore-Washington
Bangalore
Bangkok
Bangladesh
Beijing
Bélem
Berlin
Bhimavaram
Bloomington
Campus Ambassadors
Capital Region
Cardiff
Charlotte
Chengdu
Chennai
Chihuahua
Chile
Cleveland
Colombia
Columbus
Connecticut
Cracow
Czech
Dallas/Ft. Worth
Danish
Delaware
Edinburgh
Egypt
Finland
Florida
Front Range
FuZhou
Great Lakes
Greece
Hangzhou
Hawaii
HeFei
Houston
Hyderabad
Indonesia
Irish
Israel
Italian
Jinan
Kabul
Kansas City
Latvia
London
Madurai
Manchester
Mato Grosso
Melbourne
Minas Gerais
Minnesota
Montreal
Moscow
Mumbai
Munich
NEA
Netherlands
New England
New York City
New Zealand
NIT Hamirpur
Noroeste
Oklahoma City
Osnabrück
Peru
Philadelphia
Piaski
Pittsburgh
Porto Alegre
Puget Sound
Pune
Queensland
Research Triangle Park
Romania
Russia
San Antonio
San Diego
San Francisco
São Paulo
Scottish
Serbia
Shanghai
Shenzhen
Silicon Valley
Singapore
Slovak
South African
Southern Connecticut
St. Louis
Sweden
Switzerland
Sydney
Szczecin
Taiwan
Tecum
Thames Valley
Tokyo
Toronto
Trondheim
Tulsa
Turkey
Ukraine
University of Melbourne
Vale do Paraíba
Vancouver
Venezuela
Welsh - Cymru
Wisconsin
Xi'an
Subsites
Code Reviews
Code Repositories
Package Search
Bugster
Bugzilla
Test Machines
Planet
Mailing Lists
Elections & Polls
ARC Case Logs
Source Juicer
Package Factory
User Authentication
Project ppc-dev Pages
Getting Started
FAQ
Files
Kickstarting OpenSolaris on PowerPC
Status
Project Task Map
Low Level Atomic Operations
GNU Toolchain and Host Environment
Bootloader - Net/Disc
Cache Behavior
Cyclic Backend - Timers
Checkpoint and Restore
Console Items
CTF - Compressed Text Format
DDI - Device Driver Interface
DTrace
Hardware Tools for the Target
Installer
ISM
Kernel Inititalization
KMDB / MDB / PMDB
Kernel Context Switching
Kernel Runtime Loader
Module Stubs
MP Support
Openfirmware - VOF
Panic Handling
Platform Specific Modules
Root Nexus
RTLD and ld
System Calls
Exceptions, Traps and Interrupts
User Libraries
User Context Switching
Virtual Memory - HAT
Project Tools
Project Extras