Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 152118 Details for
Bug 235608
No kexec-tools on PowerPC
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
somewhat cleaner patch
kexec-tools-1.101-ppc-boots-ppc64.patch (text/plain), 9.96 KB, created by
David Woodhouse
on 2007-04-10 07:41:37 UTC
(
hide
)
Description:
somewhat cleaner patch
Filename:
MIME Type:
Creator:
David Woodhouse
Created:
2007-04-10 07:41:37 UTC
Size:
9.96 KB
patch
obsolete
>--- kexec-tools-1.101/kexec/arch/ppc64/kexec-ppc64.h 2007-04-07 15:03:34.000000000 -0400 >+++ kexec-tools-1.101.ppc-boots-ppc64/kexec/arch/ppc64/kexec-ppc64.h 2007-04-07 11:32:08.000000000 -0400 >@@ -13,9 +13,9 @@ int elf_ppc64_probe(const char *buf, off > int elf_ppc64_load(int argc, char **argv, const char *buf, off_t len, > struct kexec_info *info); > void elf_ppc64_usage(void); > void reserve(unsigned long long where, unsigned long long length); > >-extern unsigned long initrd_base, initrd_size; >+extern uint64_t initrd_base, initrd_size; > /* boot block version 2 as defined by the linux kernel */ > struct bootblock { > unsigned magic, >--- kexec-tools-1.101/purgatory/arch/ppc64/Makefile~ 2007-04-10 02:23:23.000000000 -0400 >+++ kexec-tools-1.101/purgatory/arch/ppc64/Makefile 2007-04-10 02:31:49.000000000 -0400 >@@ -6,3 +6,5 @@ > PURGATORY_C_SRCS += purgatory/arch/ppc64/purgatory-ppc64.c > PURGATORY_C_SRCS += purgatory/arch/ppc64/console-ppc64.c > PURGATORY_C_SRCS += purgatory/arch/ppc64/crashdump_backup.c >+ >+PCFLAGS += -m64 -mcall-aixdesc >diff -u kexec-tools-1.101.ppc-boots-ppc64-v2/kexec/arch/ppc64/kexec-elf-ppc64.c kexec-tools-1.101.ppc-boots-ppc64/kexec/arch/ppc64/kexec-elf-ppc64.c >--- kexec-tools-1.101.ppc-boots-ppc64-v2/kexec/arch/ppc64/kexec-elf-ppc64.c 2007-04-07 14:55:20.000000000 -0400 >+++ kexec-tools-1.101.ppc-boots-ppc64/kexec/arch/ppc64/kexec-elf-ppc64.c 2007-04-07 14:23:14.000000000 -0400 >@@ -42,7 +43,7 @@ > #define BOOTLOADER "kexec" > #define BOOTLOADER_VERSION VERSION > >-unsigned long initrd_base, initrd_size; >+uint64_t initrd_base, initrd_size; > > int create_flatten_tree(struct kexec_info *, unsigned char **, unsigned long *, > char *); >@@ -76,19 +77,19 @@ > char *cmdline, *modified_cmdline; > const char *ramdisk, *devicetreeblob; > int cmdline_len, modified_cmdline_len; >- unsigned long long max_addr, hole_addr; >+ uint64_t max_addr, hole_addr; > unsigned char *seg_buf = NULL; > off_t seg_size = 0; > struct mem_phdr *phdr; > size_t size; >- unsigned long long *rsvmap_ptr; >+ uint64_t *rsvmap_ptr; > struct bootblock *bb_ptr; > unsigned int nr_segments, i; > int result, opt; >- unsigned long my_kernel, my_dt_offset; >+ uint64_t my_kernel, my_dt_offset; > unsigned int my_panic_kernel; >- unsigned long my_stack, my_backup_start; >- unsigned long toc_addr; >+ uint64_t my_stack, my_backup_start; >+ uint64_t toc_addr; > > #define OPT_APPEND (OPT_ARCH_MAX+0) > #define OPT_RAMDISK (OPT_ARCH_MAX+1) >@@ -226,10 +227,10 @@ > } > seg_buf = (unsigned char *)slurp_file(ramdisk, &seg_size); > add_buffer(info, seg_buf, seg_size, seg_size, 0, 0, max_addr, 1); >- hole_addr = (unsigned long long) >+ hole_addr = (uint64_t) > info->segment[info->nr_segments-1].mem; > initrd_base = hole_addr; >- initrd_size = (unsigned long long) >+ initrd_size = (uint64_t) > info->segment[info->nr_segments-1].memsz; > } /* ramdisk */ > >@@ -259,25 +260,25 @@ > */ > bb_ptr = (struct bootblock *)( > (unsigned char *)info->segment[(info->nr_segments)-1].buf); >- rsvmap_ptr = (unsigned long long *)( >+ rsvmap_ptr = (uint64_t *)( > (unsigned char *)info->segment[(info->nr_segments)-1].buf + > bb_ptr->off_mem_rsvmap); > while (*rsvmap_ptr || *(rsvmap_ptr+1)) > rsvmap_ptr += 2; > rsvmap_ptr -= 2; >- *rsvmap_ptr = (unsigned long long)( >+ *rsvmap_ptr = (uint64_t)( > info->segment[(info->nr_segments)-1].mem); > rsvmap_ptr++; >- *rsvmap_ptr = (unsigned long long)bb_ptr->totalsize; >+ *rsvmap_ptr = (uint64_t)bb_ptr->totalsize; > > nr_segments = info->nr_segments; > > /* Set kernel */ >- my_kernel = (unsigned long )info->segment[0].mem; >+ my_kernel = (uint64_t)info->segment[0].mem; > elf_rel_set_symbol(&info->rhdr, "kernel", &my_kernel, sizeof(my_kernel)); > > /* Set dt_offset */ >- my_dt_offset = (unsigned long )info->segment[nr_segments-1].mem; >+ my_dt_offset = (uint64_t)info->segment[nr_segments-1].mem; > elf_rel_set_symbol(&info->rhdr, "dt_offset", &my_dt_offset, > sizeof(my_dt_offset)); > >--- kexec-tools-1.101/kexec/arch/ppc64/kexec-elf-rel-ppc64.c 2007-04-07 15:01:17.000000000 -0400 >+++ kexec-tools-1.101.ppc-boots-ppc64-v2/kexec/arch/ppc64/kexec-elf-rel-ppc64.c 2007-04-07 14:43:33.000000000 -0400 >@@ -101,10 +101,10 @@ > break; > > case R_PPC64_ADDR16_HIGHEST: >- *(uint16_t *)location = ((value>>48) & 0xffff); >+ *(uint16_t *)location = (((uint64_t)value>>48) & 0xffff); > break; > case R_PPC64_ADDR16_HIGHER: >- *(uint16_t *)location = ((value>>32) & 0xffff); >+ *(uint16_t *)location = (((uint64_t)value>>32) & 0xffff); > break; > > default: >--- kexec-tools-1.101/kexec/arch/ppc64/kexec-ppc64.c 2007-04-07 15:01:18.000000000 -0400 >+++ kexec-tools-1.101.ppc-boots-ppc64-v2/kexec/arch/ppc64/kexec-ppc64.c 2007-04-07 14:37:25.000000000 -0400 >@@ -35,12 +35,12 @@ > #include <arch/options.h> > > static struct exclude_range exclude_range[MAX_MEMORY_RANGES]; >-static unsigned long long rmo_top; >+static uint64_t rmo_top; > static struct memory_range memory_range[MAX_MEMORY_RANGES]; > static struct memory_range base_memory_range[MAX_MEMORY_RANGES]; >-unsigned long long memory_max = 0; >+uint64_t memory_max = 0; > static int nr_memory_ranges, nr_exclude_ranges; >-unsigned long long crash_base, crash_size; >+uint64_t crash_base, crash_size; > > static int sort_base_ranges(); > >@@ -90,10 +90,10 @@ static int get_base_ranges() > if (local_memory_ranges >= MAX_MEMORY_RANGES) > break; > base_memory_range[local_memory_ranges].start = >- ((unsigned long long *)buf)[0]; >+ ((uint64_t *)buf)[0]; > base_memory_range[local_memory_ranges].end = > base_memory_range[local_memory_ranges].start + >- ((unsigned long long *)buf)[1]; >+ ((uint64_t *)buf)[1]; > base_memory_range[local_memory_ranges].type = RANGE_RAM; > local_memory_ranges++; > #ifdef DEBUG >@@ -120,7 +120,7 @@ static int get_base_ranges() > static int sort_base_ranges() > { > int i, j; >- unsigned long long tstart, tend; >+ uint64_t tstart, tend; > > for (i = 0; i < nr_memory_ranges - 1; i++) { > for (j = 0; j < nr_memory_ranges - i - 1; j++) { >@@ -141,7 +141,7 @@ static int sort_base_ranges() > static int sort_ranges() > { > int i, j; >- unsigned long long tstart, tend; >+ uint64_t tstart, tend; > for (i = 0; i < nr_exclude_ranges - 1; i++) { > for (j = 0; j < nr_exclude_ranges - i - 1; j++) { > if (exclude_range[j].start > exclude_range[j+1].start) { >@@ -162,12 +162,12 @@ static int sort_ranges() > */ > static int get_devtree_details(unsigned long kexec_flags) > { >- unsigned long long rmo_base; >- unsigned long long tce_base; >+ uint64_t rmo_base; >+ uint64_t tce_base; > unsigned int tce_size; > unsigned int rtas_base, rtas_size; >- unsigned long long htab_base, htab_size; >- unsigned long long kernel_end; >+ uint64_t htab_base, htab_size; >+ uint64_t kernel_end; > char buf[MAXBYTES-1]; > char device_tree[256] = "/proc/device-tree/"; > char fname[256]; >@@ -203,7 +203,7 @@ static int get_devtree_details(unsigned > closedir(dir); > return -1; > } >- if (fread(&kernel_end, sizeof(unsigned long), 1, file) != 1) { >+ if (fread(&kernel_end, sizeof(uint64_t), 1, file) != 1) { > perror(fname); > fclose(file); > closedir(cdir); >@@ -228,7 +230,7 @@ static int get_devtree_details(unsigned > closedir(dir); > return -1; > } >- if (fread(&crash_base, sizeof(unsigned long), 1, >+ if (fread(&crash_base, sizeof(uint64_t), 1, > file) != 1) { > perror(fname); > fclose(file); >@@ -248,7 +250,7 @@ static int get_devtree_details(unsigned > closedir(dir); > return -1; > } >- if (fread(&crash_size, sizeof(unsigned long), 1, >+ if (fread(&crash_size, sizeof(uint64_t), 1, > file) != 1) { > perror(fname); > fclose(file); >@@ -281,7 +283,7 @@ static int get_devtree_details(unsigned > closedir(dir); > return -1; > } >- if (fread(&htab_base, sizeof(unsigned long), 1, file) != 1) { >+ if (fread(&htab_base, sizeof(uint64_t), 1, file) != 1) { > perror(fname); > fclose(file); > closedir(cdir); >@@ -298,7 +300,7 @@ static int get_devtree_details(unsigned > closedir(dir); > return -1; > } >- if (fread(&htab_size, sizeof(unsigned long), 1, file) != 1) { >+ if (fread(&htab_size, sizeof(uint64_t), 1, file) != 1) { > perror(fname); > fclose(file); > closedir(cdir); >@@ -367,8 +373,8 @@ static int get_devtree_details(unsigned > closedir(dir); > return -1; > } >- rmo_base = ((unsigned long long *)buf)[0]; >- rmo_top = rmo_base + ((unsigned long long *)buf)[1]; >+ rmo_base = ((uint64_t *)buf)[0]; >+ rmo_top = rmo_base + ((uint64_t *)buf)[1]; > if (rmo_top > 0x30000000UL) > rmo_top = 0x30000000UL; > >@@ -389,7 +395,7 @@ static int get_devtree_details(unsigned > closedir(dir); > return -1; > } >- if (fread(&tce_base, sizeof(unsigned long), 1, file) != 1) { >+ if (fread(&tce_base, sizeof(uint64_t), 1, file) != 1) { > perror(fname); > fclose(file); > closedir(cdir); >--- kexec-tools-1.101/kexec/kexec-sha256.h 2007-04-07 15:01:17.000000000 -0400 >+++ kexec-tools-1.101.ppc-boots-ppc64-v2/kexec/kexec-sha256.h 2007-04-07 14:37:25.000000000 -0400 >@@ -2,8 +2,8 @@ > #define KEXEC_SHA256_H > > struct sha256_region { >- const void *start; >- unsigned long len; >+ uint64_t start; >+ uint64_t len; > }; > > #define SHA256_REGIONS 16 >unchanged: >--- kexec-tools-1.101/purgatory/Makefile 2007-04-07 15:01:17.000000000 -0400 >+++ kexec-tools-1.101.ppc-boots-ppc64-v2/purgatory/Makefile 2007-04-07 14:37:25.000000000 -0400 >@@ -59,7 +59,7 @@ $(PURGATORY_S_OBJS): $(OBJDIR)/%.o: %.S > >-$(PURGATORY): $(PURGATORY_OBJS) $(UTIL_LIB) >+$(PURGATORY): $(PURGATORY_OBJS) > $(MKDIR) -p $(@D) >- $(LD) $(LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) $(UTIL_LIB) >+ $(LD) $(LDFLAGS) --no-undefined -e purgatory_start -r -o $@ $(PURGATORY_OBJS) > > echo:: > @echo "PURGATORY_C_SRCS $(PURGATORY_C_SRCS)" >diff -urp kexec-tools-1.101.ppc-boots-ppc64-v2/purgatory/purgatory.c kexec-tools-1.101/purgatory/purgatory.c >--- kexec-tools-1.101.ppc-boots-ppc64-v2/purgatory/purgatory.c 2007-04-07 15:03:34.000000000 -0400 >+++ kexec-tools-1.101/purgatory/purgatory.c 2007-04-07 15:31:52.000000000 -0400 >@@ -46,3 +46,5 @@ void purgatory(void) > verify_sha256_digest(); > post_verification_setup_arch(); > } >+ >+#include "../util_lib/sha256.c"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 235608
:
151921
| 152118