Loading arch/ppc/boot/utils/addRamDisk.cdeleted 100644 → 0 +0 −203 Original line number Original line Diff line number Diff line #include <stdio.h> #include <stdlib.h> #include <netinet/in.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <string.h> #define ElfHeaderSize (64 * 1024) #define ElfPages (ElfHeaderSize / 4096) #define KERNELBASE (0xc0000000) void get4k(FILE *file, char *buf ) { unsigned j; unsigned num = fread(buf, 1, 4096, file); for ( j=num; j<4096; ++j ) buf[j] = 0; } void put4k(FILE *file, char *buf ) { fwrite(buf, 1, 4096, file); } void death(const char *msg, FILE *fdesc, const char *fname) { printf(msg); fclose(fdesc); unlink(fname); exit(1); } int main(int argc, char **argv) { char inbuf[4096]; FILE *ramDisk = NULL; FILE *inputVmlinux = NULL; FILE *outputVmlinux = NULL; unsigned i = 0; u_int32_t ramFileLen = 0; u_int32_t ramLen = 0; u_int32_t roundR = 0; u_int32_t kernelLen = 0; u_int32_t actualKernelLen = 0; u_int32_t round = 0; u_int32_t roundedKernelLen = 0; u_int32_t ramStartOffs = 0; u_int32_t ramPages = 0; u_int32_t roundedKernelPages = 0; u_int32_t hvReleaseData = 0; u_int32_t eyeCatcher = 0xc8a5d9c4; u_int32_t naca = 0; u_int32_t xRamDisk = 0; u_int32_t xRamDiskSize = 0; if ( argc < 2 ) { printf("Name of RAM disk file missing.\n"); exit(1); } if ( argc < 3 ) { printf("Name of vmlinux file missing.\n"); exit(1); } if ( argc < 4 ) { printf("Name of vmlinux output file missing.\n"); exit(1); } ramDisk = fopen(argv[1], "r"); if ( ! ramDisk ) { printf("RAM disk file \"%s\" failed to open.\n", argv[1]); exit(1); } inputVmlinux = fopen(argv[2], "r"); if ( ! inputVmlinux ) { printf("vmlinux file \"%s\" failed to open.\n", argv[2]); exit(1); } outputVmlinux = fopen(argv[3], "w+"); if ( ! outputVmlinux ) { printf("output vmlinux file \"%s\" failed to open.\n", argv[3]); exit(1); } fseek(ramDisk, 0, SEEK_END); ramFileLen = ftell(ramDisk); fseek(ramDisk, 0, SEEK_SET); printf("%s file size = %d\n", argv[1], ramFileLen); ramLen = ramFileLen; roundR = 4096 - (ramLen % 4096); if ( roundR ) { printf("Rounding RAM disk file up to a multiple of 4096, adding %d\n", roundR); ramLen += roundR; } printf("Rounded RAM disk size is %d\n", ramLen); fseek(inputVmlinux, 0, SEEK_END); kernelLen = ftell(inputVmlinux); fseek(inputVmlinux, 0, SEEK_SET); printf("kernel file size = %d\n", kernelLen); if ( kernelLen == 0 ) { printf("You must have a linux kernel specified as argv[2]\n"); exit(1); } actualKernelLen = kernelLen - ElfHeaderSize; printf("actual kernel length (minus ELF header) = %d\n", actualKernelLen); round = actualKernelLen % 4096; roundedKernelLen = actualKernelLen; if ( round ) roundedKernelLen += (4096 - round); printf("actual kernel length rounded up to a 4k multiple = %d\n", roundedKernelLen); ramStartOffs = roundedKernelLen; ramPages = ramLen / 4096; printf("RAM disk pages to copy = %d\n", ramPages); // Copy 64K ELF header for (i=0; i<(ElfPages); ++i) { get4k( inputVmlinux, inbuf ); put4k( outputVmlinux, inbuf ); } roundedKernelPages = roundedKernelLen / 4096; fseek(inputVmlinux, ElfHeaderSize, SEEK_SET); for ( i=0; i<roundedKernelPages; ++i ) { get4k( inputVmlinux, inbuf ); put4k( outputVmlinux, inbuf ); } for ( i=0; i<ramPages; ++i ) { get4k( ramDisk, inbuf ); put4k( outputVmlinux, inbuf ); } /* Close the input files */ fclose(ramDisk); fclose(inputVmlinux); /* And flush the written output file */ fflush(outputVmlinux); /* fseek to the hvReleaseData pointer */ fseek(outputVmlinux, ElfHeaderSize + 0x24, SEEK_SET); if (fread(&hvReleaseData, 4, 1, outputVmlinux) != 1) { death("Could not read hvReleaseData pointer\n", outputVmlinux, argv[3]); } hvReleaseData = ntohl(hvReleaseData); /* Convert to native int */ printf("hvReleaseData is at %08x\n", hvReleaseData); /* fseek to the hvReleaseData */ fseek(outputVmlinux, ElfHeaderSize + hvReleaseData, SEEK_SET); if (fread(inbuf, 0x40, 1, outputVmlinux) != 1) { death("Could not read hvReleaseData\n", outputVmlinux, argv[3]); } /* Check hvReleaseData sanity */ if (memcmp(inbuf, &eyeCatcher, 4) != 0) { death("hvReleaseData is invalid\n", outputVmlinux, argv[3]); } /* Get the naca pointer */ naca = ntohl(*((u_int32_t *) &inbuf[0x0c])) - KERNELBASE; printf("naca is at %08x\n", naca); /* fseek to the naca */ fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET); if (fread(inbuf, 0x18, 1, outputVmlinux) != 1) { death("Could not read naca\n", outputVmlinux, argv[3]); } xRamDisk = ntohl(*((u_int32_t *) &inbuf[0x0c])); xRamDiskSize = ntohl(*((u_int32_t *) &inbuf[0x14])); /* Make sure a RAM disk isn't already present */ if ((xRamDisk != 0) || (xRamDiskSize != 0)) { death("RAM disk is already attached to this kernel\n", outputVmlinux, argv[3]); } /* Fill in the values */ *((u_int32_t *) &inbuf[0x0c]) = htonl(ramStartOffs); *((u_int32_t *) &inbuf[0x14]) = htonl(ramPages); /* Write out the new naca */ fflush(outputVmlinux); fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET); if (fwrite(inbuf, 0x18, 1, outputVmlinux) != 1) { death("Could not write naca\n", outputVmlinux, argv[3]); } printf("RAM Disk of 0x%x pages size is attached to the kernel at offset 0x%08x\n", ramPages, ramStartOffs); /* Done */ fclose(outputVmlinux); /* Set permission to executable */ chmod(argv[3], S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); return 0; } arch/ppc64/Kconfig +34 −40 Original line number Original line Diff line number Diff line Loading @@ -302,12 +302,6 @@ config GENERIC_HARDIRQS bool bool default y default y config MSCHUNKS bool depends on PPC_ISERIES default y config PPC_RTAS config PPC_RTAS bool bool depends on PPC_PSERIES || PPC_BPA depends on PPC_PSERIES || PPC_BPA Loading Loading @@ -350,13 +344,46 @@ config SECCOMP If unsure, say Y. Only embedded should say N here. If unsure, say Y. Only embedded should say N here. source "fs/Kconfig.binfmt" config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) select HOTPLUG ---help--- Say Y here to be able to turn CPUs off and on. Say N if you are unsure. config PROC_DEVICETREE bool "Support for Open Firmware device tree in /proc" depends on !PPC_ISERIES help This option adds a device-tree directory under /proc which contains an image of the device tree that the kernel copies from Open Firmware. If unsure, say Y here. config CMDLINE_BOOL bool "Default bootloader kernel arguments" depends on !PPC_ISERIES config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,9600 console=tty0 root=/dev/sda2" help On some platforms, there is currently no way for the boot loader to pass arguments to the kernel. For these platforms, you can supply some command-line options at build time by entering them here. In most cases you will need to specify the root device here. endmenu endmenu config ISA_DMA_API config ISA_DMA_API bool bool default y default y menu "General setup" menu "Bus Options" config ISA config ISA bool bool Loading Loading @@ -389,45 +416,12 @@ config PCI_DOMAINS bool bool default PCI default PCI source "fs/Kconfig.binfmt" source "drivers/pci/Kconfig" source "drivers/pci/Kconfig" config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) select HOTPLUG ---help--- Say Y here to be able to turn CPUs off and on. Say N if you are unsure. source "drivers/pcmcia/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" source "drivers/pci/hotplug/Kconfig" config PROC_DEVICETREE bool "Support for Open Firmware device tree in /proc" depends on !PPC_ISERIES help This option adds a device-tree directory under /proc which contains an image of the device tree that the kernel copies from Open Firmware. If unsure, say Y here. config CMDLINE_BOOL bool "Default bootloader kernel arguments" depends on !PPC_ISERIES config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,9600 console=tty0 root=/dev/sda2" help On some platforms, there is currently no way for the boot loader to pass arguments to the kernel. For these platforms, you can supply some command-line options at build time by entering them here. In most cases you will need to specify the root device here. endmenu endmenu source "net/Kconfig" source "net/Kconfig" Loading arch/ppc64/boot/Makefile +2 −2 Original line number Original line Diff line number Diff line Loading @@ -22,8 +22,8 @@ HOSTCC := gcc HOSTCC := gcc BOOTCFLAGS := $(HOSTCFLAGS) $(LINUXINCLUDE) -fno-builtin BOOTCFLAGS := $(HOSTCFLAGS) -fno-builtin -nostdinc -isystem $(shell $(CROSS32CC) -print-file-name=include) BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc BOOTLFLAGS := -Ttext 0x00400000 -e _start -T $(srctree)/$(src)/zImage.lds BOOTLFLAGS := -Ttext 0x00400000 -e _start -T $(srctree)/$(src)/zImage.lds OBJCOPYFLAGS := contents,alloc,load,readonly,data OBJCOPYFLAGS := contents,alloc,load,readonly,data Loading arch/ppc64/boot/addnote.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -157,7 +157,7 @@ main(int ac, char **av) PUT_32BE(ns, strlen(arch) + 1); PUT_32BE(ns, strlen(arch) + 1); PUT_32BE(ns + 4, N_DESCR * 4); PUT_32BE(ns + 4, N_DESCR * 4); PUT_32BE(ns + 8, 0x1275); PUT_32BE(ns + 8, 0x1275); strcpy(&buf[ns + 12], arch); strcpy((char *) &buf[ns + 12], arch); ns += 12 + strlen(arch) + 1; ns += 12 + strlen(arch) + 1; for (i = 0; i < N_DESCR; ++i, ns += 4) for (i = 0; i < N_DESCR; ++i, ns += 4) PUT_32BE(ns, descr[i]); PUT_32BE(ns, descr[i]); Loading @@ -172,7 +172,7 @@ main(int ac, char **av) PUT_32BE(ns, strlen(rpaname) + 1); PUT_32BE(ns, strlen(rpaname) + 1); PUT_32BE(ns + 4, sizeof(rpanote)); PUT_32BE(ns + 4, sizeof(rpanote)); PUT_32BE(ns + 8, 0x12759999); PUT_32BE(ns + 8, 0x12759999); strcpy(&buf[ns + 12], rpaname); strcpy((char *) &buf[ns + 12], rpaname); ns += 12 + ROUNDUP(strlen(rpaname) + 1); ns += 12 + ROUNDUP(strlen(rpaname) + 1); for (i = 0; i < N_RPA_DESCR; ++i, ns += 4) for (i = 0; i < N_RPA_DESCR; ++i, ns += 4) PUT_32BE(ns, rpanote[i]); PUT_32BE(ns, rpanote[i]); Loading arch/ppc64/boot/crt0.S +1 −1 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ * NOTE: this code runs in 32 bit mode and is packaged as ELF32. * NOTE: this code runs in 32 bit mode and is packaged as ELF32. */ */ #include <asm/ppc_asm.h> #include "ppc_asm.h" .text .text .globl _start .globl _start Loading Loading
arch/ppc/boot/utils/addRamDisk.cdeleted 100644 → 0 +0 −203 Original line number Original line Diff line number Diff line #include <stdio.h> #include <stdlib.h> #include <netinet/in.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <string.h> #define ElfHeaderSize (64 * 1024) #define ElfPages (ElfHeaderSize / 4096) #define KERNELBASE (0xc0000000) void get4k(FILE *file, char *buf ) { unsigned j; unsigned num = fread(buf, 1, 4096, file); for ( j=num; j<4096; ++j ) buf[j] = 0; } void put4k(FILE *file, char *buf ) { fwrite(buf, 1, 4096, file); } void death(const char *msg, FILE *fdesc, const char *fname) { printf(msg); fclose(fdesc); unlink(fname); exit(1); } int main(int argc, char **argv) { char inbuf[4096]; FILE *ramDisk = NULL; FILE *inputVmlinux = NULL; FILE *outputVmlinux = NULL; unsigned i = 0; u_int32_t ramFileLen = 0; u_int32_t ramLen = 0; u_int32_t roundR = 0; u_int32_t kernelLen = 0; u_int32_t actualKernelLen = 0; u_int32_t round = 0; u_int32_t roundedKernelLen = 0; u_int32_t ramStartOffs = 0; u_int32_t ramPages = 0; u_int32_t roundedKernelPages = 0; u_int32_t hvReleaseData = 0; u_int32_t eyeCatcher = 0xc8a5d9c4; u_int32_t naca = 0; u_int32_t xRamDisk = 0; u_int32_t xRamDiskSize = 0; if ( argc < 2 ) { printf("Name of RAM disk file missing.\n"); exit(1); } if ( argc < 3 ) { printf("Name of vmlinux file missing.\n"); exit(1); } if ( argc < 4 ) { printf("Name of vmlinux output file missing.\n"); exit(1); } ramDisk = fopen(argv[1], "r"); if ( ! ramDisk ) { printf("RAM disk file \"%s\" failed to open.\n", argv[1]); exit(1); } inputVmlinux = fopen(argv[2], "r"); if ( ! inputVmlinux ) { printf("vmlinux file \"%s\" failed to open.\n", argv[2]); exit(1); } outputVmlinux = fopen(argv[3], "w+"); if ( ! outputVmlinux ) { printf("output vmlinux file \"%s\" failed to open.\n", argv[3]); exit(1); } fseek(ramDisk, 0, SEEK_END); ramFileLen = ftell(ramDisk); fseek(ramDisk, 0, SEEK_SET); printf("%s file size = %d\n", argv[1], ramFileLen); ramLen = ramFileLen; roundR = 4096 - (ramLen % 4096); if ( roundR ) { printf("Rounding RAM disk file up to a multiple of 4096, adding %d\n", roundR); ramLen += roundR; } printf("Rounded RAM disk size is %d\n", ramLen); fseek(inputVmlinux, 0, SEEK_END); kernelLen = ftell(inputVmlinux); fseek(inputVmlinux, 0, SEEK_SET); printf("kernel file size = %d\n", kernelLen); if ( kernelLen == 0 ) { printf("You must have a linux kernel specified as argv[2]\n"); exit(1); } actualKernelLen = kernelLen - ElfHeaderSize; printf("actual kernel length (minus ELF header) = %d\n", actualKernelLen); round = actualKernelLen % 4096; roundedKernelLen = actualKernelLen; if ( round ) roundedKernelLen += (4096 - round); printf("actual kernel length rounded up to a 4k multiple = %d\n", roundedKernelLen); ramStartOffs = roundedKernelLen; ramPages = ramLen / 4096; printf("RAM disk pages to copy = %d\n", ramPages); // Copy 64K ELF header for (i=0; i<(ElfPages); ++i) { get4k( inputVmlinux, inbuf ); put4k( outputVmlinux, inbuf ); } roundedKernelPages = roundedKernelLen / 4096; fseek(inputVmlinux, ElfHeaderSize, SEEK_SET); for ( i=0; i<roundedKernelPages; ++i ) { get4k( inputVmlinux, inbuf ); put4k( outputVmlinux, inbuf ); } for ( i=0; i<ramPages; ++i ) { get4k( ramDisk, inbuf ); put4k( outputVmlinux, inbuf ); } /* Close the input files */ fclose(ramDisk); fclose(inputVmlinux); /* And flush the written output file */ fflush(outputVmlinux); /* fseek to the hvReleaseData pointer */ fseek(outputVmlinux, ElfHeaderSize + 0x24, SEEK_SET); if (fread(&hvReleaseData, 4, 1, outputVmlinux) != 1) { death("Could not read hvReleaseData pointer\n", outputVmlinux, argv[3]); } hvReleaseData = ntohl(hvReleaseData); /* Convert to native int */ printf("hvReleaseData is at %08x\n", hvReleaseData); /* fseek to the hvReleaseData */ fseek(outputVmlinux, ElfHeaderSize + hvReleaseData, SEEK_SET); if (fread(inbuf, 0x40, 1, outputVmlinux) != 1) { death("Could not read hvReleaseData\n", outputVmlinux, argv[3]); } /* Check hvReleaseData sanity */ if (memcmp(inbuf, &eyeCatcher, 4) != 0) { death("hvReleaseData is invalid\n", outputVmlinux, argv[3]); } /* Get the naca pointer */ naca = ntohl(*((u_int32_t *) &inbuf[0x0c])) - KERNELBASE; printf("naca is at %08x\n", naca); /* fseek to the naca */ fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET); if (fread(inbuf, 0x18, 1, outputVmlinux) != 1) { death("Could not read naca\n", outputVmlinux, argv[3]); } xRamDisk = ntohl(*((u_int32_t *) &inbuf[0x0c])); xRamDiskSize = ntohl(*((u_int32_t *) &inbuf[0x14])); /* Make sure a RAM disk isn't already present */ if ((xRamDisk != 0) || (xRamDiskSize != 0)) { death("RAM disk is already attached to this kernel\n", outputVmlinux, argv[3]); } /* Fill in the values */ *((u_int32_t *) &inbuf[0x0c]) = htonl(ramStartOffs); *((u_int32_t *) &inbuf[0x14]) = htonl(ramPages); /* Write out the new naca */ fflush(outputVmlinux); fseek(outputVmlinux, ElfHeaderSize + naca, SEEK_SET); if (fwrite(inbuf, 0x18, 1, outputVmlinux) != 1) { death("Could not write naca\n", outputVmlinux, argv[3]); } printf("RAM Disk of 0x%x pages size is attached to the kernel at offset 0x%08x\n", ramPages, ramStartOffs); /* Done */ fclose(outputVmlinux); /* Set permission to executable */ chmod(argv[3], S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); return 0; }
arch/ppc64/Kconfig +34 −40 Original line number Original line Diff line number Diff line Loading @@ -302,12 +302,6 @@ config GENERIC_HARDIRQS bool bool default y default y config MSCHUNKS bool depends on PPC_ISERIES default y config PPC_RTAS config PPC_RTAS bool bool depends on PPC_PSERIES || PPC_BPA depends on PPC_PSERIES || PPC_BPA Loading Loading @@ -350,13 +344,46 @@ config SECCOMP If unsure, say Y. Only embedded should say N here. If unsure, say Y. Only embedded should say N here. source "fs/Kconfig.binfmt" config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) select HOTPLUG ---help--- Say Y here to be able to turn CPUs off and on. Say N if you are unsure. config PROC_DEVICETREE bool "Support for Open Firmware device tree in /proc" depends on !PPC_ISERIES help This option adds a device-tree directory under /proc which contains an image of the device tree that the kernel copies from Open Firmware. If unsure, say Y here. config CMDLINE_BOOL bool "Default bootloader kernel arguments" depends on !PPC_ISERIES config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,9600 console=tty0 root=/dev/sda2" help On some platforms, there is currently no way for the boot loader to pass arguments to the kernel. For these platforms, you can supply some command-line options at build time by entering them here. In most cases you will need to specify the root device here. endmenu endmenu config ISA_DMA_API config ISA_DMA_API bool bool default y default y menu "General setup" menu "Bus Options" config ISA config ISA bool bool Loading Loading @@ -389,45 +416,12 @@ config PCI_DOMAINS bool bool default PCI default PCI source "fs/Kconfig.binfmt" source "drivers/pci/Kconfig" source "drivers/pci/Kconfig" config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" depends on SMP && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) select HOTPLUG ---help--- Say Y here to be able to turn CPUs off and on. Say N if you are unsure. source "drivers/pcmcia/Kconfig" source "drivers/pcmcia/Kconfig" source "drivers/pci/hotplug/Kconfig" source "drivers/pci/hotplug/Kconfig" config PROC_DEVICETREE bool "Support for Open Firmware device tree in /proc" depends on !PPC_ISERIES help This option adds a device-tree directory under /proc which contains an image of the device tree that the kernel copies from Open Firmware. If unsure, say Y here. config CMDLINE_BOOL bool "Default bootloader kernel arguments" depends on !PPC_ISERIES config CMDLINE string "Initial kernel command string" depends on CMDLINE_BOOL default "console=ttyS0,9600 console=tty0 root=/dev/sda2" help On some platforms, there is currently no way for the boot loader to pass arguments to the kernel. For these platforms, you can supply some command-line options at build time by entering them here. In most cases you will need to specify the root device here. endmenu endmenu source "net/Kconfig" source "net/Kconfig" Loading
arch/ppc64/boot/Makefile +2 −2 Original line number Original line Diff line number Diff line Loading @@ -22,8 +22,8 @@ HOSTCC := gcc HOSTCC := gcc BOOTCFLAGS := $(HOSTCFLAGS) $(LINUXINCLUDE) -fno-builtin BOOTCFLAGS := $(HOSTCFLAGS) -fno-builtin -nostdinc -isystem $(shell $(CROSS32CC) -print-file-name=include) BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc BOOTLFLAGS := -Ttext 0x00400000 -e _start -T $(srctree)/$(src)/zImage.lds BOOTLFLAGS := -Ttext 0x00400000 -e _start -T $(srctree)/$(src)/zImage.lds OBJCOPYFLAGS := contents,alloc,load,readonly,data OBJCOPYFLAGS := contents,alloc,load,readonly,data Loading
arch/ppc64/boot/addnote.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -157,7 +157,7 @@ main(int ac, char **av) PUT_32BE(ns, strlen(arch) + 1); PUT_32BE(ns, strlen(arch) + 1); PUT_32BE(ns + 4, N_DESCR * 4); PUT_32BE(ns + 4, N_DESCR * 4); PUT_32BE(ns + 8, 0x1275); PUT_32BE(ns + 8, 0x1275); strcpy(&buf[ns + 12], arch); strcpy((char *) &buf[ns + 12], arch); ns += 12 + strlen(arch) + 1; ns += 12 + strlen(arch) + 1; for (i = 0; i < N_DESCR; ++i, ns += 4) for (i = 0; i < N_DESCR; ++i, ns += 4) PUT_32BE(ns, descr[i]); PUT_32BE(ns, descr[i]); Loading @@ -172,7 +172,7 @@ main(int ac, char **av) PUT_32BE(ns, strlen(rpaname) + 1); PUT_32BE(ns, strlen(rpaname) + 1); PUT_32BE(ns + 4, sizeof(rpanote)); PUT_32BE(ns + 4, sizeof(rpanote)); PUT_32BE(ns + 8, 0x12759999); PUT_32BE(ns + 8, 0x12759999); strcpy(&buf[ns + 12], rpaname); strcpy((char *) &buf[ns + 12], rpaname); ns += 12 + ROUNDUP(strlen(rpaname) + 1); ns += 12 + ROUNDUP(strlen(rpaname) + 1); for (i = 0; i < N_RPA_DESCR; ++i, ns += 4) for (i = 0; i < N_RPA_DESCR; ++i, ns += 4) PUT_32BE(ns, rpanote[i]); PUT_32BE(ns, rpanote[i]); Loading
arch/ppc64/boot/crt0.S +1 −1 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ * NOTE: this code runs in 32 bit mode and is packaged as ELF32. * NOTE: this code runs in 32 bit mode and is packaged as ELF32. */ */ #include <asm/ppc_asm.h> #include "ppc_asm.h" .text .text .globl _start .globl _start Loading