Re: Kernel progress
David Brownlee <[email protected]> Thu, 19 Feb 2015 08:10:05 +0000
| Newsgroups | gmane.os.netbsd.ports.playstation2 |
|---|---|
| Message-ID | <CAGN_6pZFF9HMy_WKY_v-aaqaL9KJ+5cV4oF-Fq8azFrzMr6e5w@mail.gmail.com> |
On 14 February 2015 at 20:01, Jean-Baptiste Boric <[email protected]> wrote: > Yet more updates : > > I got NetBSD booting up to being prompted for a root device (log from the > serial port) : Pretty cool :) > [...] > Jump to kernel! > kernel_text=0x80100000 edata=0x802ebe10 end=0x802fb0f0 > phys segment: 0x1eff000 @ 0x100000 > adding 0x1d03000 @ 0x2fc000 to freelist 0 > pmap_steal_memory: seg 0: 0x2fc 0x2fc 0x1ffe 0x1ffe > pmap_steal_memory: seg 0: 0x31b 0x31b 0x1ffe 0x1ffe > pmap_steal_memory: seg 0: 0x31d 0x31d 0x1ffe 0x1ffe > Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, > 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 > The NetBSD Foundation, Inc. All rights reserved. > Copyright (c) 1982, 1986, 1989, 1991, 1993 > The Regents of the University of California. All rights reserved. > > NetBSD 7.99.4 (RAMDISK) #50: Thu Feb 12 19:26:12 CET 2015 > > [email protected]:/home/boricj/obj.playstation2/sys/arch/playstation2/compile/RAMDISK > total memory = 32768 KB > avail memory = 28956 KB > mainbus0 (root)cpu0 at mainbus0 addr 0xffffffff: Toshiba R5900 CPU (0x2e20) > Rev. 2.0 with software emulated floating point > cpu0: 48 TLB entries, 16MB max page size > cpu0: 16KB/64B 2-way set-associative L1 instruction cache > cpu0: 8KB/64B 2-way set-associative write-back L1 data cache > rn_init: radix functions require max_keylen be set > root on md0a dumps on md0b > Supported file systems: procfs null msdos mfs ffs cd9660 > no file system for md0 (dev 0x600) > cannot mount root, error = 79 > root device (default md0a): > > More importantly, I found out that GXemul can emulate the PlayStation 2. > Although it doesn't emulate much beyond the Emotion Engine, COP0, a > framebuffer and a bunch of timers/interrupts, it can handle the NetBSD > kernel. I added basic serial port support to GXemul to see the logs, and I > could use DDB from within the emulator (no working interrupts means a panic > is needed to drop into DDB). It reached the root device prompt too. > > Now the bad news : it seems that GXemul is a dead project, so I have nowhere > to put the patch beyond GitHub (https://github.com/boricj/gxemul, branch > playstation2). If the original gxemul author is non responsive after sending patches back you could always provide a patchset which could be used by the emulators/gxemul pkgsrc package, so the out of the box gxemul on NetBSD and related systems is ps2 serial capable :) > Also, I don't think I'm going to be able to make much more > progress on my own, as I basically still don't know what I'm doing (newbie > and kernel porting is a poor match). I don't think I'm going to make > interrupts work without studying the kernel (and the hardware) in-depth > first. Is the interrupt hardware similar to any of the other MIPS based NetBSD or gxemul targets?