Hi Steve,

On 12/31/2015 05:27 PM, Steve Reinhardt wrote:
> There was a bug that only impacted SPARC FS for which I recently posted a
> fix, see http://reviews.gem5.org/r/3264.
> 
> I'd be interested in knowing whether that does it for you.

It indeed does! Now I can run modified versions of HelenOS/sparc64 on gem5.

Thanks a lot. I hope that the sparc64 support in gem5 stays around
indefinitely because as far as I know, gem5 is the only open source
emulator capable of emulating sun4v and not requiring either a SPARC
machine or Solaris.

The issue preventing the unmodified version of HelenOS functioning
properly is that for some reason gem5 panics on accesses to the
TickCompare register. Which also means that the following fix seems
incomplete:

changeset:   11102:c77f3a9e59bb
user:        Palle Lyckegaard <[email protected]>
date:        Tue Sep 15 08:14:07 2015 -0500
summary:     sparc: writing to tick_cmpr should not cause a panic

I am getting the panic here:

panic: tick compare not implemented
 @ tick 769969579000
[processTickCompare:build/SPARC/arch/sparc/ua2005.cc, line 321]


line 321:
void
ISA::processTickCompare(ThreadContext *tc)
{
    panic("tick compare not implemented\n");
}


Anyway, for your enjoyment, here is the console output of the unmodified
version of HelenOS before gem5 panicked. It got quite far:

Sun Fire T2000, No Keyboard
Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.20.0, 256 MB memory available, Serial #1122867.
[mo23723 obp4.20.0 #0]
Ethernet address 0:80:3:de:ad:3, Host ID: 80112233.



ok boot
boot
Boot device: vdisk  File and args:
SILO Version 1.4.13
boot:
Allocated 8 Megs of memory at 0x40000000 for kernel
Kernel doesn't support loading to high memory, relocating...done.
Loaded kernel version 0.0.0
HelenOS bootloader, release 0.6.0 (Elastic Horse), revision 2408M
([email protected])
Built on 2016-01-01 12:40:35 for sparc64
Copyright (c) 2001-2015 HelenOS project

Memory statistics (total 252 MB, starting at 0x0000000080400000)
 0x000000000000c1d8|0x000000008040c1d8: boot info structure
 0x0000000000400000|0x0000000080800000: kernel entry point
 0x0000000000004000|0x0000000080404000: loader entry point
 0x000000000000ccb4|0x000000008040ccb4: kernel image (993576/176100 bytes)
 0x0000000000037c98|0x0000000080437c98: ns image (140032/57582 bytes)
 0x0000000000045d86|0x0000000080445d86: loader image (139512/57812 bytes)
 0x0000000000053f5a|0x0000000080453f5a: init image (141800/58349 bytes)
 0x0000000000062347|0x0000000080462347: locsrv image (147656/61356 bytes)
 0x00000000000712f3|0x00000000804712f3: rd image (138952/57185 bytes)
 0x000000000007f254|0x000000008047f254: vfs image (153576/64353 bytes)
 0x000000000008edb5|0x000000008048edb5: logger image (143560/59434 bytes)
 0x000000000009d5df|0x000000008049d5df: ext4fs image (211400/89113 bytes)
 0x00000000000b31f8|0x00000000804b31f8: initrd image (8388608/1839688 bytes)

Inflating components ... initrd ext4fs logger vfs rd locsrv init loader
ns kernel .
Setting up boot allocator ...
Setting up screens ...
Canonizing OpenFirmware device tree ...
Booting the kernel ...
SPARTAN kernel, release 0.6.0 (Elastic Horse), revision 2408M
([email protected])
Built on 2016-01-01 12:40:35 for sparc64
Copyright (c) 2001-2015 HelenOS project
Detected 1 CPU(s), 258048 KiB free memory
Program loader at 0xffff800100040000
RAM disk at 0x0000000080a2c000 (size 8388608 bytes)
Kernel console ready (press any key to activate)
ns: HelenOS IPC Naming Service
ns: Accepting connections
init: HelenOS init
loc: HelenOS Location Service
rd: HelenOS RAM disk server
rd: Found RAM disk at 0x0000000080a2c000, 8388608 bytes
vfs: HelenOS VFS server
logger: HelenOS Logging Service
ext4fs: HelenOS ext4 file system server
loc: Accepting connections
vfs: Accepting connections
logger: Accepting connections
rd: Accepting connections
ext4fs: Accepting connections
init: Root filesystem mounted on / (ext4fs at bd/initrd)
init: Unable to stat /srv/tmpfs
init: Starting /srv/klog
[kernel/other] note: Program loader at 0xffff800100040000
init: Starting /srv/locfs
[kernel/other] note: RAM disk at 0x0000000080a2c000 (size 8388608 bytes)
locfs: HelenOS Device Filesystem
locfs: Accepting connections
init: Unable to stat /srv/taskmon
init: Location service filesystem mounted on /loc (locfs)
init: Temporary filesystem unknown type (tmpfs)
init: Starting /srv/devman
devman: HelenOS Device Manager
devman: Accepting connections.
root: HelenOS root device driver
init: Unable to stat /srv/apic
[devman] note: The `root' driver was successfully registered as running.
init: Unable to stat /srv/i8259
init: Unable to stat /srv/icp-ic
init: Starting /srv/obio
[devman] error: No driver found for device `/hw'.
obio: HelenOS OBIO driver
obio: No OBIO registers found
init: Server /srv/obio failed to start (exit code -1)
init: Unable to stat /srv/cuda_adb
init: Unable to stat /srv/s3c24xx_uart
init: Unable to stat /srv/s3c24xx_ts
init: Unable to stat /srv/vbd
init: Unable to stat /srv/volsrv
init: Unable to stat /srv/loopip
init: Unable to stat /srv/ethip
init: Unable to stat /srv/inetsrv
init: Unable to stat /srv/tcp
init: Unable to stat /srv/udp
init: Unable to stat /srv/dnsrsrv
init: Unable to stat /srv/dhcp
init: Unable to stat /srv/nconfsrv
init: Unable to stat /srv/clipboard
init: Unable to stat /srv/remcons
init: Starting /srv/input
virt: HelenOS virtual devices root driver
[devman] note: The `virt' driver was successfully registered as running.
[virt] note: Registered child device `kfb'
input: HelenOS input service
input: Accepting connections
init: Starting /srv/output
kfb: HelenOS kernel framebuffer driver
[devman] note: The `kfb' driver was successfully registered as running.
kfb: Accepting connections
output: HelenOS output service


Happy New Year!
Jakub

> 
> Steve
> 
> On Thu, Dec 31, 2015 at 3:23 AM Jakub Jermar <[email protected]> wrote:
> 
>> Hi,
>>
>> I am using gem5 for the development of the HelenOS/sparc64/sun4v port. I
>> rebuilt gem5 from the latest sources today and found that there is no
>> console output (except for the short banner, see below) on ports 3456 or
>> 3457 (via telnet or m5term). The previous working version I was using
>> was about one year old. There does not seem to be any obvious error
>> reported by gem5:
>>
>>
>> [jermar@gorgo gem5]$ M5_PATH=/home/jermar/install/gem5/system
>> build/SPARC/gem5.fast configs/example/fs.py
>> gem5 Simulator System.  http://gem5.org
>> gem5 is copyrighted software; use the --copyright option for details.
>>
>> gem5 compiled Dec 31 2015 10:22:28
>> gem5 started Dec 31 2015 12:14:15
>> gem5 executing on gorgo, pid 12036
>> command line: build/SPARC/gem5.fast configs/example/fs.py
>>
>> Global frequency set at 1000000000000 ticks per second
>> warn: DRAM device capacity (8192 Mbytes) does not match the address
>> range assigned (64 Mbytes)
>> warn: DRAM device capacity (8192 Mbytes) does not match the address
>> range assigned (256 Mbytes)
>> info: No kernel set for full system simulation. Assuming you know what
>> you're doing
>> Listening for t1000 connection on port 3456
>> Listening for t1000 connection on port 3457
>> 0: system.remote_gdb.listener: listening for remote gdb on port 7000
>> **** REAL SIMULATION ****
>> info: Entering event queue @ 0.  Starting simulation...
>>
>>
>>
>> Connecting to ports 3456 and 3457 gives just the banner:
>>
>> [jermar@gorgo term]$ ./m5term localhost 3456
>> ==== m5 slave terminal: Terminal 0 ====
>>
>> [jermar@gorgo term]$ ./m5term localhost 3457
>> ==== m5 slave terminal: Terminal 0 ====
>>
>>
>>
>> With the previous version I was seeing something like this:
>>
>> [jermar@gorgo HelenOS.chtpre]$ telnet localhost 3457
>> Trying 127.0.0.1...
>> Connected to localhost.
>> Escape character is '^]'.
>> ==== m5 slave terminal: Terminal 0 ====
>>  ...
>> Sun Fire T2000, No Keyboard
>> Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
>> OpenBoot 4.20.0, 256 MB memory available, Serial #1122867.
>> [mo23723 obp4.20.0 #0]
>> Ethernet address 0:80:3:de:ad:3, Host ID: 80112233.
>> ok boot
>> ...
>>
>>
>>
>> Does SPARC FS work for you (up to the point that the system boots into
>> the ok prompt) or is it just me? Is there something obvious that I might
>> have overlooked?
>>
>>
>> Thanks,
>> Jakub
>> _______________________________________________
>> gem5-dev mailing list
>> [email protected]
>> http://m5sim.org/mailman/listinfo/gem5-dev
>>
> _______________________________________________
> gem5-dev mailing list
> [email protected]
> http://m5sim.org/mailman/listinfo/gem5-dev
> 

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to