Hello. Did someone succeed in installing the 64 bit version of SUSE Linux 9.2 on Simics 2.0? For me linuxrc segfaults immediately after being started from the installation media. Is Simics just too broken for installing SUSE Linux 9.2 or is it just me being to stupid writing a working configuration file? Robert -- Robert Schiele Tel.: +49-621-181-2214 Dipl.-Wirtsch.informatiker mailto:rschiele@uni-mannheim.de
On Wed, Jan 12, 2005 at 05:13:41PM +0100, Robert Schiele wrote:
Did someone succeed in installing the 64 bit version of SUSE Linux 9.2 on Simics 2.0? For me linuxrc segfaults immediately after being started from the installation media. Is Simics just too broken for installing SUSE Linux 9.2 or is it just me being to stupid writing a working configuration file?
x86-64 linux was largely developed on Simics. I last tested it with an older kernel and 9.1 on simics 1.x, which worked without problems. -Andi
On Wed, Jan 12, 2005 at 06:16:41PM +0100, Andi Kleen wrote:
On Wed, Jan 12, 2005 at 05:13:41PM +0100, Robert Schiele wrote:
Did someone succeed in installing the 64 bit version of SUSE Linux 9.2 on Simics 2.0? For me linuxrc segfaults immediately after being started from the installation media. Is Simics just too broken for installing SUSE Linux 9.2 or is it just me being to stupid writing a working configuration file?
x86-64 linux was largely developed on Simics. I last tested it
I was aware of that. This is why I tried this in the first place.
with an older kernel and 9.1 on simics 1.x, which worked without problems.
Hmm, I tried now to boot from 9.1-DVD. Similar problem. What I did is use the dredd configuration file and changed cpu type to x86-hammer, everything else was left unchanged. When booting from 9.2 DVD for installation, kernel starts to boot and then... hdc: ATAPI 4X CD-ROM drive, 512kB Cache Uniform CD-ROM driver Revision: 3.20 ide-floppy driver 0.99.newide mice: PS/2 mouse device common for all mice input: AT Translated Set 2 keyboard on isa0060/serio0 alps.c: E6 report: 00 00 64 alps.c: E7 report: 10 00 64 input: PS/2 Generic Mouse on isa0060/serio1 input: PC Speaker md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 NET: Registered protocol family 2 IP: routing cache hash table of 2048 buckets, 16Kbytes TCP: Hash tables configured (established 16384 bind 16384) NET: Registered protocol family 1 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. RAMDISK: Compressed image found at block 0 VFS: Mounted root (minix filesystem). linuxrc[660]: segfault at 00000000006b4000 rip 000000000048b23a rsp 0000007fbfff fb18 error 6 VFS: Cannot open root device "<NULL>" or unknown-block(3,3) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,3) Booting from 9.1 is similar. You said that you tried this "with an older kernel and 9.1". Which kernel version did you use? Is it possible that more recent kernels no longer work with Simics? Is it possible that I did something wrong with configuring Simics? Can you send me a working config file? Robert -- Robert Schiele Tel.: +49-621-181-2214 Dipl.-Wirtsch.informatiker mailto:rschiele@uni-mannheim.de
VFS: Mounted root (minix filesystem). linuxrc[660]: segfault at 00000000006b4000 rip 000000000048b23a rsp 0000007fbfff fb18 error 6
Looks weird. I would ask Virtutech. You could try setting some breakpoints and figuring out on what instruction it faults.
You said that you tried this "with an older kernel and 9.1". Which kernel version did you use? Is it possible that more recent kernels no longer work with Simics?
I only tried it with 1.x. In fact I used 1.0.<something> for a long time because I had problems with later ones, but 1.7.x worked fine too. I haven't tried 2.0.x.
Is it possible that I did something wrong with configuring Simics? Can you send me a working config file?
The 1.x config files wouldn't help you with 2.0.x. -Andi
On Wed, Jan 12, 2005 at 10:38:58PM +0100, Andi Kleen wrote:
VFS: Mounted root (minix filesystem). linuxrc[660]: segfault at 00000000006b4000 rip 000000000048b23a rsp 0000007fbfff fb18 error 6
Looks weird. I would ask Virtutech.
Did so now. For those interested and having access to Simics support system this is https://www.simics.net/mwf/topic_show.pl?tid=7278. Will report back when there is a solution. Robert -- Robert Schiele Tel.: +49-621-181-2214 Dipl.-Wirtsch.informatiker mailto:rschiele@uni-mannheim.de
Hi, I can confirm the sigsegv when installing suse 9.2 on simics 2.x. It's not a configuration issue. More info will be made available in the thread at www.simics.net when we have found out what the problem is. Cheers, Magnus Christensson Virtutech Robert Schiele wrote:
Hello.
Did someone succeed in installing the 64 bit version of SUSE Linux 9.2 on Simics 2.0? For me linuxrc segfaults immediately after being started from the installation media. Is Simics just too broken for installing SUSE Linux 9.2 or is it just me being to stupid writing a working configuration file?
Robert
I realize that the resolution of the problem hasn't reached this list. Copied from my post at the Simics forum 13/01/2005: This problem turned to be a somewhat interresting one. The SIGSEGV itself it triggered by a memset that continues past the limit with which is was called. Now, why does that happen? It turns out that the problem is in glibc with the glibc-2.3.3-amd64-string.diff patch applied (the vanilla glibc does not have this problem). Memset in glibc with the applied patch contains this code: LABEL(alignafter): #ifdef PIC mov _rtld_local_ro@GOTPCREL(%rip), %r9 mov RTLD_GLOBAL_DL_CACHE2SIZEHALF(%r9), %r8 # For MP System half cache size is better, for UP full cache size # is better -> use half cache size only #else mov _dl_cache2sizehalf, %r8 #endif cmp %rdx, %r8 cmova %rdx, %r8 LABEL(fasttry): cmp $2048, %rdx # this is slow for some block sizes jb LABEL(64) <skip> LABEL(64): # 64-byte mov %r8, %rcx and $-64, %r8 shr $6, %rcx dec %rcx # this iteration starts the prefetcher sooner mov %rsi, (%rdi) mov %rsi, 8 (%rdi) mov %rsi, 16 (%rdi) mov %rsi, 24 (%rdi) mov %rsi, 32 (%rdi) mov %rsi, 40 (%rdi) mov %rsi, 48 (%rdi) mov %rsi, 56 (%rdi) lea 64 (%rdi), %rdi .p2align 4 LABEL(64loop): dec %rcx mov %rsi, (%rdi) mov %rsi, 8 (%rdi) mov %rsi, 16 (%rdi) mov %rsi, 24 (%rdi) mov %rsi, 32 (%rdi) mov %rsi, 40 (%rdi) mov %rsi, 48 (%rdi) mov %rsi, 56 (%rdi) lea 64 (%rdi), %rdi jnz LABEL(64loop) When run on Simics, this piece of code will fail to exit the loop because rcx wraps around and becomes negative. It becomes negative since _dl_cache2sizehalf is zero on Simics (it's derived from CPUID function 8000.0006). Note that _dl_cache2sizehalf is 32-bit while the comparison in the code loads a 64-bit value, meaning that it will really compare agains a bogus value (there will be leaked bits from another variable). In short, the glibc in Suse 9.2 cannot handle the case when the L2 data cache size is zero. If you consider that a bug in glibc or simics is a matter of personal taste. Future versions of Simics will have user settable values for CPUID function 8000.0006 (I'm currently installing 9.2 with a 4MB L2 cache setting and it's looking ok so far). M. Magnus Christensson wrote:
Hi,
I can confirm the sigsegv when installing suse 9.2 on simics 2.x. It's not a configuration issue. More info will be made available in the thread at www.simics.net when we have found out what the problem is.
Cheers, Magnus Christensson Virtutech
Robert Schiele wrote:
Hello.
Did someone succeed in installing the 64 bit version of SUSE Linux 9.2 on Simics 2.0? For me linuxrc segfaults immediately after being started from the installation media. Is Simics just too broken for installing SUSE Linux 9.2 or is it just me being to stupid writing a working configuration file?
Robert
Magnus Christensson <mch@virtutech.se> writes:
In short, the glibc in Suse 9.2 cannot handle the case when the L2 data cache size is zero. If you consider that a bug in glibc or simics is a matter of personal taste. Future versions of Simics will have user settable values for CPUID function 8000.0006 (I'm currently installing 9.2 with a 4MB L2 cache setting and it's looking ok so far).
And 9.3 will have a glibc that can live with size=0, Andreas -- Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
participants (4)
-
Andi Kleen
-
Andreas Jaeger
-
Magnus Christensson
-
Robert Schiele