Merge branch 'merge' into next
Merge the binutils and kexec fixes.
This commit is contained in:
Коммит
86969cf733
|
@ -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)
|
||||
|
|
|
@ -322,11 +322,16 @@ n:
|
|||
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) \
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче