Your message dated Sun, 19 Aug 2012 15:32:43 +0000 with message-id <e1t37uz-00079u...@franck.debian.org> and subject line Bug#685245: fixed in silo 1.4.14+git20120819-1 has caused the Debian Bug report #685245, regarding [PATCH] silo: Don't touch %tick_cmpr on sun4v cpus. to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 685245: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685245 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
--- Begin Message ---Package: silo Severity: grave X-Debbugs-Cc: David Miller <da...@davemloft.net>, debian-sp...@lists.debian.org Tags: upstream patch fixed-upstream Filing this as a bug so it doesn't get lost. Thanks for the heads-up, David. On Wed, Aug 15, 2012 at 01:14:16 -0700, David Miller wrote: > > This generates an illegal instruction exception. > > This has a long history. For the first sun4v port of SILO in commit > 494770a17eea7192d3242051e76f4da6d838e3a1 ("SILO Niagara/SUN4V > support") this code was removed entirely. > > But later this was found to regress older UltraSPARC boxes, so we put > it back in commit bd708e35bdcd8e92cb7c65368f2a356982df7cd8 ("Fix > Ultra10 SILO timer"). But that was wrong too. > > The OBP still owns the trap table when SILO runs and it uses the > %tick_cmpr generated interrupt. This has a bad interraction with how > we use the %tick register in SILO. > > SILO first reads the %tick register and remembers this value as the > time base. > > Later, we read %tick again, compute the difference, and use this to > calcualte the amount of time elapsed. > > OBP's %tick_cmpr interrupt handler is doing something funky, such as > resetting %tick, which makes our timeouts never actually expire. > > This issue doesn't exist on sun4v machines, and we absolutely cannot > try to touch the %tick_cmpr register as that generates an illegal > instruction trap on such cpus. > > Signed-off-by: David S. Miller <da...@davemloft.net> > --- > > I just committed this into the SILO git repo. > > Debian folks, you really want this propagated into your installer as > soon as possible. All the install ISOs will crash in SILO on all > sun4v (Niagara) machines unless an explicit SILO boot target is given > on the boot command line. I used "boot cdrom install" to get around > this. > > It triggers any time the timer mechanism is enabled ("timeout=foo" is > specified in silo.conf) > > include/silo.h | 1 + > second/main.c | 1 + > second/misc.c | 4 +++- > second/timer.c | 2 +- > 4 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/include/silo.h b/include/silo.h > index fe5adcb..94d6e31 100644 > --- a/include/silo.h > +++ b/include/silo.h > @@ -125,6 +125,7 @@ int strtol (const char *, char **, int); > int decompress (char *, char *, unsigned char (*)(void), void (*)(void)); > /* main.c */ > extern enum arch architecture; > +extern int sun4v_cpu; > /* timer.c */ > int init_timer (); > void close_timer (); > diff --git a/second/main.c b/second/main.c > index 182b263..a45807d 100644 > --- a/second/main.c > +++ b/second/main.c > @@ -64,6 +64,7 @@ enum { > CMD_LS > } load_cmd; > enum arch architecture; > +int sun4v_cpu; > static int timer_status = 0; > static char *initrd_start; > static int initrd_size; > diff --git a/second/misc.c b/second/misc.c > index 163738e..d6bcdb1 100644 > --- a/second/misc.c > +++ b/second/misc.c > @@ -517,8 +517,10 @@ enum arch silo_get_architecture(void) > return sun4d; > case 'e': > return sun4e; > - case 'u': > case 'v': > + sun4v_cpu = 1; > + /* FALLTHRU */ > + case 'u': > return sun4u; > default: > for(i = 0; i < NUM_SUN_MACHINES; i++) > diff --git a/second/timer.c b/second/timer.c > index 51e928e..7f03996 100644 > --- a/second/timer.c > +++ b/second/timer.c > @@ -156,7 +156,7 @@ static inline int sun4u_init_timer () > } > if (!foundcpu || !clock_frequency) > clock_frequency = prom_getint(prom_root_node, "clock-frequency") / > 100; > - if (notimer) { > + if (notimer && !sun4v_cpu) { > sun4u_notimer = 1; > __asm__ __volatile__ ("\t" > "rd %%tick_cmpr, %%g1\n\t" > -- > 1.7.11.2 > > On Wed, Aug 15, 2012 at 16:43:31 -0700, David Miller wrote: > From: David Miller <da...@davemloft.net> > Date: Wed, 15 Aug 2012 01:14:16 -0700 (PDT) > > > > > This generates an illegal instruction exception. > > Unfortunately, after some more testing, this needs a follow-on fix, > included below and also committed to SILO git. > > Sorry for the confusion. > > ==================== > silo: Don't assume P1275 OBP means sun4u. > > It could also mean 'sun4v'. > > Code this defensively, so that if (for whatever reason) > we can't get at the 'compatible' property in the root > OBP device node we'll still default to sun4u as previous. > > Signed-off-by: David S. Miller <da...@davemloft.net> > --- > second/misc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/second/misc.c b/second/misc.c > index d6bcdb1..d789723 100644 > --- a/second/misc.c > +++ b/second/misc.c > @@ -501,7 +501,7 @@ enum arch silo_get_architecture(void) > if ((i = prom_searchsiblings(i, "MicroSPARC-IIep")) != 0) { > return sun4p; > } > - return sun4u; > + buffer[4] = 'u'; > } > i = prom_getproperty (prom_root_node, "compatability", buffer, 8); > > -- > 1.7.11.2 Cheers, Julien
signature.asc
Description: Digital signature
--- End Message ---
--- Begin Message ---Source: silo Source-Version: 1.4.14+git20120819-1 We believe that the bug you reported is fixed in the latest version of silo, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 685...@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Jurij Smakov <ju...@debian.org> (supplier of updated silo package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmas...@debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.8 Date: Sun, 19 Aug 2012 16:14:18 +0100 Source: silo Binary: silo Architecture: source sparc Version: 1.4.14+git20120819-1 Distribution: unstable Urgency: low Maintainer: Debootloaders SILO Maintainers Team <debootloaders-s...@lists.alioth.debian.org> Changed-By: Jurij Smakov <ju...@debian.org> Description: silo - Sparc Improved LOader Closes: 685245 Changes: silo (1.4.14+git20120819-1) unstable; urgency=low . [ Jurij Smakov ] * New upstream release containing only the following bug fixes: - Fix ext4 extent resolution. Without this fix silo fails to read silo.conf off a ext4 filesystem. Commit: 6ab3e76216353af6b60a99f7e5ebf5611047c831 - Fix silo crash on Niagara (sun4v) machines whenever 'timeout' parameter is used in silo.conf. (Closes: #685245) Commits: 1121ecf7b087b940339e421b2928067c92f6237e dcee4ca86e88aeec8c6f2c8062035419204b4701 - Include stddef.h in stringops.h. Fixes build failure when compiled against 3.4 Linux headers. Commit: 2999c98e8241b81cb35846961672fc7d8c3fe235 Checksums-Sha1: 4a1a77d89bf9cc716c3f41b360f1e72d1a8af5a9 1415 silo_1.4.14+git20120819-1.dsc 419fd0d228e546e9909ef5584f3b524b824e2186 755510 silo_1.4.14+git20120819.orig.tar.gz 4050a59872d77904164fc9294f7957f16324b5d7 10711 silo_1.4.14+git20120819-1.diff.gz d4acfab79ba92595e9b8c056f8981382d64b035a 157114 silo_1.4.14+git20120819-1_sparc.deb Checksums-Sha256: 1f16955041aa10f4950f24c02cb66b94242dc443511da97b2034ef86496e393b 1415 silo_1.4.14+git20120819-1.dsc 637854cba63088e0b5df96bf3d18dc1a3b446e12a7877969fef01fb7e93aa4ca 755510 silo_1.4.14+git20120819.orig.tar.gz ed5a7a4cf4c69fe1a163def8c4452bd73018d040950e371ea5ec036fa3f17703 10711 silo_1.4.14+git20120819-1.diff.gz 4979dd37ac422cad34a6d67eabd53b15502708611d29760795cdfaf2211671df 157114 silo_1.4.14+git20120819-1_sparc.deb Files: ca414d0d90da7c7fb9055e9a10b7661d 1415 admin important silo_1.4.14+git20120819-1.dsc 590ff80763d58ad4c464114f8bab01da 755510 admin important silo_1.4.14+git20120819.orig.tar.gz 7e557e2dbc3838d635142004b1949e5d 10711 admin important silo_1.4.14+git20120819-1.diff.gz b250da8a1e64ffc9851fa563dc8ded9b 157114 admin important silo_1.4.14+git20120819-1_sparc.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlAxBY8ACgkQjjectMmeA8xwzACeOywoExkshpdsATDBQyBg4JCt b8AAnA7qzTHmo+n0umX6vbP96qIpsCWL =leDp -----END PGP SIGNATURE-----
--- End Message ---