Loading arch/powerpc/Makefile +3 −1 Original line number Diff line number Diff line Loading @@ -155,7 +155,9 @@ endif CFLAGS-$(CONFIG_TUNE_CELL) += $(call cc-option,-mtune=cell) KBUILD_CPPFLAGS += -Iarch/$(ARCH) asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1) KBUILD_CPPFLAGS += -Iarch/$(ARCH) $(asinstr) KBUILD_AFLAGS += -Iarch/$(ARCH) $(AFLAGS-y) KBUILD_CFLAGS += -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y) CPP = $(CC) -E $(KBUILD_CFLAGS) Loading arch/powerpc/include/asm/ppc_asm.h +6 −1 Original line number Diff line number Diff line Loading @@ -322,11 +322,16 @@ GLUE(.,name): addi reg,reg,(name - 0b)@l; #ifdef __powerpc64__ #ifdef HAVE_AS_ATHIGH #define __AS_ATHIGH high #else #define __AS_ATHIGH h #endif #define LOAD_REG_IMMEDIATE(reg,expr) \ lis reg,(expr)@highest; \ ori reg,reg,(expr)@higher; \ rldicr reg,reg,32,31; \ oris reg,reg,(expr)@h; \ oris reg,reg,(expr)@__AS_ATHIGH; \ ori reg,reg,(expr)@l; #define LOAD_REG_ADDR(reg,name) \ Loading arch/powerpc/kernel/machine_kexec_64.c +1 −1 Original line number Diff line number Diff line Loading @@ -237,7 +237,7 @@ static void wake_offline_cpus(void) if (!cpu_online(cpu)) { printk(KERN_INFO "kexec: Waking offline cpu %d.\n", cpu); cpu_up(cpu); WARN_ON(cpu_up(cpu)); } } } Loading kernel/kexec.c +8 −0 Original line number Diff line number Diff line Loading @@ -1683,6 +1683,14 @@ int kernel_kexec(void) kexec_in_progress = true; kernel_restart_prepare(NULL); migrate_to_reboot_cpu(); /* * migrate_to_reboot_cpu() disables CPU hotplug assuming that * no further code needs to use CPU hotplug (which is true in * the reboot case). However, the kexec path depends on using * CPU hotplug again; so re-enable it here. */ cpu_hotplug_enable(); printk(KERN_EMERG "Starting new kernel\n"); machine_shutdown(); } Loading Loading
arch/powerpc/Makefile +3 −1 Original line number Diff line number Diff line Loading @@ -155,7 +155,9 @@ endif CFLAGS-$(CONFIG_TUNE_CELL) += $(call cc-option,-mtune=cell) KBUILD_CPPFLAGS += -Iarch/$(ARCH) asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1) KBUILD_CPPFLAGS += -Iarch/$(ARCH) $(asinstr) KBUILD_AFLAGS += -Iarch/$(ARCH) $(AFLAGS-y) KBUILD_CFLAGS += -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y) CPP = $(CC) -E $(KBUILD_CFLAGS) Loading
arch/powerpc/include/asm/ppc_asm.h +6 −1 Original line number Diff line number Diff line Loading @@ -322,11 +322,16 @@ GLUE(.,name): addi reg,reg,(name - 0b)@l; #ifdef __powerpc64__ #ifdef HAVE_AS_ATHIGH #define __AS_ATHIGH high #else #define __AS_ATHIGH h #endif #define LOAD_REG_IMMEDIATE(reg,expr) \ lis reg,(expr)@highest; \ ori reg,reg,(expr)@higher; \ rldicr reg,reg,32,31; \ oris reg,reg,(expr)@h; \ oris reg,reg,(expr)@__AS_ATHIGH; \ ori reg,reg,(expr)@l; #define LOAD_REG_ADDR(reg,name) \ Loading
arch/powerpc/kernel/machine_kexec_64.c +1 −1 Original line number Diff line number Diff line Loading @@ -237,7 +237,7 @@ static void wake_offline_cpus(void) if (!cpu_online(cpu)) { printk(KERN_INFO "kexec: Waking offline cpu %d.\n", cpu); cpu_up(cpu); WARN_ON(cpu_up(cpu)); } } } Loading
kernel/kexec.c +8 −0 Original line number Diff line number Diff line Loading @@ -1683,6 +1683,14 @@ int kernel_kexec(void) kexec_in_progress = true; kernel_restart_prepare(NULL); migrate_to_reboot_cpu(); /* * migrate_to_reboot_cpu() disables CPU hotplug assuming that * no further code needs to use CPU hotplug (which is true in * the reboot case). However, the kexec path depends on using * CPU hotplug again; so re-enable it here. */ cpu_hotplug_enable(); printk(KERN_EMERG "Starting new kernel\n"); machine_shutdown(); } Loading