Hello community, here is the log from the commit of package kexec-tools checked in at Tue Oct 28 00:51:15 CET 2008. -------- --- kexec-tools/kexec-tools.changes 2008-10-24 15:33:36.000000000 +0200 +++ /d/STABLE/kexec-tools/kexec-tools.changes 2008-10-27 10:26:03.000000000 +0100 @@ -1,0 +2,14 @@ +Mon Oct 27 10:25:42 CET 2008 - bwalle@suse.de + +- Update patch that checks for reserved and assigned bit flags on + the memory regions (bnc#438086). + +------------------------------------------------------------------- +Sun Oct 26 18:11:02 CET 2008 - bwalle@suse.de + +- Clear grubonce after using in kexec-bootloader (bnc#438194). +- Add rpmlint supression file. +- Correct debugging output: Number of section was one too small + (last index != size of array). + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- kexec-tools-2.0.0-rpmlintrc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kexec-tools.spec ++++++ --- /var/tmp/diff_new_pack.At8130/_old 2008-10-28 00:50:38.000000000 +0100 +++ /var/tmp/diff_new_pack.At8130/_new 2008-10-28 00:50:38.000000000 +0100 @@ -29,11 +29,12 @@ AutoReqProv: on Summary: Tools for fast kernel loading Version: 2.0.0 -Release: 42 +Release: 43 Source: %{name}-%{version}.tar.bz2 Source1: kexec-bootloader Source2: kexec-bootloader.8.txt Source3: kexec.init +Source4: %{name}-%{version}-rpmlintrc Patch0: %{name}-ia64-uncached-memory.diff Patch1: %{name}-ia64-PA.diff Patch2: %{name}-build-warnings.diff @@ -148,10 +149,18 @@ %endif %changelog +* Mon Oct 27 2008 bwalle@suse.de +- Update patch that checks for reserved and assigned bit flags on + the memory regions (bnc#438086). +* Sun Oct 26 2008 bwalle@suse.de +- Clear grubonce after using in kexec-bootloader (bnc#438194). +- Add rpmlint supression file. +- Correct debugging output: Number of section was one too small + (last index != size of array). * Fri Oct 24 2008 bwalle@suse.de - Check for reserved and assigned bit flags on the memory regions (bnc#438086). -* Sun Oct 19 2008 bwalle@suse.de +* Sat Oct 18 2008 bwalle@suse.de - Honor grubonce also when the 1st (== 0th) entry was chosen. * Mon Oct 13 2008 bwalle@suse.de - Fix runlevels (Default-Start, Default-Stop) in kexec.init. @@ -320,7 +329,7 @@ package * Wed Aug 29 2007 bwalle@suse.de - add reset_devices kernel parameter as default -* Sun Aug 26 2007 olh@suse.de +* Sat Aug 25 2007 olh@suse.de - do not require kdump-helpers on s390 * Fri Jul 27 2007 bwalle@suse.de - update documentation for deleting all dumps (#302257) ++++++ kexec-bootloader ++++++ --- /var/tmp/diff_new_pack.At8130/_old 2008-10-28 00:50:38.000000000 +0100 +++ /var/tmp/diff_new_pack.At8130/_new 2008-10-28 00:50:38.000000000 +0100 @@ -53,11 +53,15 @@ # # Returns the value stored with "grubonce". If no value has been stored # or the /boot/grub/default file is not readable, then -1 is returned. -sub get_grubonce() # {{{ +# +# Also emulate the behaviour when using GRUB which resets the 'magic once' flag +# when booting. Because we use kexec, we have to reset that 'magic once' flag +# ourselves. +sub get_grubonce_and_reset_magic() # {{{ { # no /boot/grub/default file if (! -f $GRUBDEFAULT) { - print_debug("get_grubonce(): No $GRUBDEFAULT."); + print_debug("get_grubonce_and_reset_magic(): No $GRUBDEFAULT."); return -1; } @@ -65,11 +69,12 @@ open(FH, $GRUBDEFAULT) or return -1; my $value; my $ret = sysread(FH, $value, 10); - close FH; + close(FH); # only if we have read 4 bytes it's valid if ($ret != 10) { - print_debug("get_grubonce(): Read returned $ret instead of 4."); + print_debug("get_grubonce_and_reset_magic(): ". + "Read returned $ret instead of 4."); return -1; } @@ -78,12 +83,20 @@ my $once = int($value); # 0x4000 is the "magic once flag" - if ($once & 0x4000) { - return $once & ~0x4000; - } else { - print_debug("get_grubonce(): No magic 0x40000."); + unless ($once & 0x4000) { + print_debug("get_grubonce_and_reset_magic(): No magic 0x40000."); return -1; } + + my $defaultno = $once & ~0x4000; + my $buf = $defaultno . "\0" . "\n" x 9; + + # now reset the grubonce flag + open(FH, ">$GRUBDEFAULT") or return $defaultno; + $ret = syswrite(FH, $buf, 10); + close(FH); + + return $defaultno; } # }}} # @@ -107,7 +120,7 @@ my $default = -1; if ($loader =~ m/GRUB/i) { - $default = get_grubonce(); + $default = get_grubonce_and_reset_magic(); print_debug("GRUB Default: $default"); } ++++++ kexec-tools-2.0.0-rpmlintrc ++++++ # # The name for the init script is correct. kexec-tools is no name # for an init script. addFilter(".*incoherent-init-script-name.*"); # # $null is a valid dependency. addFilter(".*init-script-undefined-dependency.*"); # # It does not make any sense to stop the "service" kexec on removal. # kexec is no service but an init script to run kexec when rebooting. # Stopping it here would lead to a very unexpected behaviour on reboot. :) addFilter(".*init-script-without-%stop_on_removal-preun.*"); # :mode=python: ++++++ kexec-tools-ppc-check-flags.diff ++++++ --- /var/tmp/diff_new_pack.At8130/_old 2008-10-28 00:50:38.000000000 +0100 +++ /var/tmp/diff_new_pack.At8130/_new 2008-10-28 00:50:38.000000000 +0100 @@ -22,33 +22,53 @@ Acked-by: Bernhard Walle <bwalle@suse.de> --- - kexec/arch/ppc64/crashdump-ppc64.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) + kexec/arch/ppc64/crashdump-ppc64.c | 12 ++++++++++-- + kexec/arch/ppc64/crashdump-ppc64.h | 3 +++ + 2 files changed, 13 insertions(+), 2 deletions(-) --- a/kexec/arch/ppc64/crashdump-ppc64.c +++ b/kexec/arch/ppc64/crashdump-ppc64.c -@@ -124,7 +124,7 @@ static void exclude_crash_region(uint64_ - static int get_dyn_reconf_crash_memory_ranges() +@@ -121,12 +121,13 @@ static void exclude_crash_region(uint64_ + } + } + +-static int get_dyn_reconf_crash_memory_ranges() ++static int get_dyn_reconf_crash_memory_ranges(void) { uint64_t start, end; -- char fname[128], buf[32]; -+ char fname[128], buf[32], flags; + char fname[128], buf[32]; FILE *file; int i, n; ++ uint32_t flags; -@@ -152,6 +152,13 @@ static int get_dyn_reconf_crash_memory_r + strcpy(fname, "/proc/device-tree/"); + strcat(fname, "ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory"); +@@ -150,10 +151,17 @@ static int get_dyn_reconf_crash_memory_r + return -1; + } - start = ((uint64_t *)buf)[0]; +- start = ((uint64_t *)buf)[0]; ++ start = ((uint64_t *)buf)[DRCONF_ADDR]; end = start + lmb_size; + if (start == 0 && end >= (BACKUP_SRC_END + 1)) + start = BACKUP_SRC_END + 1; + -+ flags = buf[23]; ++ flags = (*((uint32_t *)&buf[DRCONF_FLAGS])); + /* skip this block if the reserved bit is set in flags (0x80) -+ or if the memory region is not assigned to this partition (0x8) */ ++ or if the block is not assigned to this partition (0x8) */ + if ((flags & 0x80) || !(flags & 0x8)) + continue; + - if (start == 0 && end >= (BACKUP_SRC_END + 1)) - start = BACKUP_SRC_END + 1; exclude_crash_region(start, end); - - + } + fclose(file); +--- a/kexec/arch/ppc64/crashdump-ppc64.h ++++ b/kexec/arch/ppc64/crashdump-ppc64.h +@@ -31,4 +31,7 @@ extern unsigned int rtas_size; + uint64_t lmb_size; + unsigned int num_of_lmbs; + ++#define DRCONF_ADDR 0 ++#define DRCONF_FLAGS 20 ++ + #endif /* CRASHDUMP_PPC64_H */ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de