Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86-fixes: x86: fix setup printk format warning x86: olpc build fix x86: video/fbdev.c: add MODULE_LICENSE x86: fix up bootparam.h for userspace inclusion x86: relocs ELF handling - use SELFMAG instead of numeric constant x86: vdso ELF handling - use SELFMAG instead of numeric constant x86: remove dell reboot dmi quirk board name match x86: es7000 build fix x86: make additional_cpus static x86: make start_secondary() static kbuild, suspend, x86: fix rebuild of wakeup.bin uml: fix gcc problem x86: undo visws/numaq build changes
This commit is contained in:
@@ -77,7 +77,10 @@ include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
|
|||||||
KERNEL_DEFINES = $(strip -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask \
|
KERNEL_DEFINES = $(strip -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask \
|
||||||
-Dmktime=kernel_mktime $(ARCH_KERNEL_DEFINES))
|
-Dmktime=kernel_mktime $(ARCH_KERNEL_DEFINES))
|
||||||
KBUILD_CFLAGS += $(KERNEL_DEFINES)
|
KBUILD_CFLAGS += $(KERNEL_DEFINES)
|
||||||
KBUILD_CFLAGS += $(call cc-option,-fno-unit-at-a-time,)
|
# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
|
||||||
|
# a lot more stack due to the lack of sharing of stacklots:
|
||||||
|
KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
|
||||||
|
echo $(call cc-option,-fno-unit-at-a-time); fi ;)
|
||||||
|
|
||||||
PHONY += linux
|
PHONY += linux
|
||||||
|
|
||||||
|
@@ -1661,6 +1661,7 @@ config GEODE_MFGPT_TIMER
|
|||||||
|
|
||||||
config OLPC
|
config OLPC
|
||||||
bool "One Laptop Per Child support"
|
bool "One Laptop Per Child support"
|
||||||
|
depends on MGEODE_LX
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Add support for detecting the unique features of the OLPC
|
Add support for detecting the unique features of the OLPC
|
||||||
|
@@ -191,7 +191,7 @@ static void read_ehdr(FILE *fp)
|
|||||||
die("Cannot read ELF header: %s\n",
|
die("Cannot read ELF header: %s\n",
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
}
|
}
|
||||||
if (memcmp(ehdr.e_ident, ELFMAG, 4) != 0) {
|
if (memcmp(ehdr.e_ident, ELFMAG, SELFMAG) != 0) {
|
||||||
die("No ELF magic\n");
|
die("No ELF magic\n");
|
||||||
}
|
}
|
||||||
if (ehdr.e_ident[EI_CLASS] != ELFCLASS32) {
|
if (ehdr.e_ident[EI_CLASS] != ELFCLASS32) {
|
||||||
|
@@ -10,5 +10,5 @@ endif
|
|||||||
$(obj)/wakeup_rm.o: $(obj)/realmode/wakeup.bin
|
$(obj)/wakeup_rm.o: $(obj)/realmode/wakeup.bin
|
||||||
|
|
||||||
$(obj)/realmode/wakeup.bin: FORCE
|
$(obj)/realmode/wakeup.bin: FORCE
|
||||||
$(Q)$(MAKE) $(build)=$(obj)/realmode $@
|
$(Q)$(MAKE) $(build)=$(obj)/realmode
|
||||||
|
|
||||||
|
@@ -6,7 +6,8 @@
|
|||||||
# for more details.
|
# for more details.
|
||||||
#
|
#
|
||||||
|
|
||||||
targets := wakeup.bin wakeup.elf
|
always := wakeup.bin
|
||||||
|
targets := wakeup.elf wakeup.lds
|
||||||
|
|
||||||
wakeup-y += wakeup.o wakemain.o video-mode.o copy.o
|
wakeup-y += wakeup.o wakemain.o video-mode.o copy.o
|
||||||
|
|
||||||
@@ -48,7 +49,7 @@ LDFLAGS_wakeup.elf := -T
|
|||||||
|
|
||||||
CPPFLAGS_wakeup.lds += -P -C
|
CPPFLAGS_wakeup.lds += -P -C
|
||||||
|
|
||||||
$(obj)/wakeup.elf: $(src)/wakeup.lds $(WAKEUP_OBJS) FORCE
|
$(obj)/wakeup.elf: $(obj)/wakeup.lds $(WAKEUP_OBJS) FORCE
|
||||||
$(call if_changed,ld)
|
$(call if_changed,ld)
|
||||||
|
|
||||||
OBJCOPYFLAGS_wakeup.bin := -O binary
|
OBJCOPYFLAGS_wakeup.bin := -O binary
|
||||||
|
@@ -794,6 +794,11 @@ void __init find_smp_config(void)
|
|||||||
ACPI-based MP Configuration
|
ACPI-based MP Configuration
|
||||||
-------------------------------------------------------------------------- */
|
-------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keep this outside and initialized to 0, for !CONFIG_ACPI builds:
|
||||||
|
*/
|
||||||
|
int es7000_plat;
|
||||||
|
|
||||||
#ifdef CONFIG_ACPI
|
#ifdef CONFIG_ACPI
|
||||||
|
|
||||||
#ifdef CONFIG_X86_IO_APIC
|
#ifdef CONFIG_X86_IO_APIC
|
||||||
@@ -909,8 +914,6 @@ void __init mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, u32 gsi)
|
|||||||
MP_intsrc_info(&intsrc);
|
MP_intsrc_info(&intsrc);
|
||||||
}
|
}
|
||||||
|
|
||||||
int es7000_plat;
|
|
||||||
|
|
||||||
void __init mp_config_acpi_legacy_irqs(void)
|
void __init mp_config_acpi_legacy_irqs(void)
|
||||||
{
|
{
|
||||||
struct mpc_config_intsrc intsrc;
|
struct mpc_config_intsrc intsrc;
|
||||||
|
@@ -149,7 +149,6 @@ static struct dmi_system_id __initdata reboot_dmi_table[] = {
|
|||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
|
||||||
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
|
||||||
DMI_MATCH(DMI_BOARD_NAME, "0WF810"),
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ /* Handle problems with rebooting on Dell Optiplex 745's DFF*/
|
{ /* Handle problems with rebooting on Dell Optiplex 745's DFF*/
|
||||||
|
@@ -95,7 +95,7 @@ void __init setup_per_cpu_areas(void)
|
|||||||
|
|
||||||
/* Copy section for each CPU (we discard the original) */
|
/* Copy section for each CPU (we discard the original) */
|
||||||
size = PERCPU_ENOUGH_ROOM;
|
size = PERCPU_ENOUGH_ROOM;
|
||||||
printk(KERN_INFO "PERCPU: Allocating %lu bytes of per cpu data\n",
|
printk(KERN_INFO "PERCPU: Allocating %zd bytes of per cpu data\n",
|
||||||
size);
|
size);
|
||||||
|
|
||||||
for_each_possible_cpu(i) {
|
for_each_possible_cpu(i) {
|
||||||
|
@@ -299,7 +299,7 @@ static void __cpuinit smp_callin(void)
|
|||||||
/*
|
/*
|
||||||
* Activate a secondary processor.
|
* Activate a secondary processor.
|
||||||
*/
|
*/
|
||||||
void __cpuinit start_secondary(void *unused)
|
static void __cpuinit start_secondary(void *unused)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Don't put *anything* before cpu_init(), SMP booting is too
|
* Don't put *anything* before cpu_init(), SMP booting is too
|
||||||
@@ -1306,7 +1306,7 @@ static void remove_siblinginfo(int cpu)
|
|||||||
cpu_clear(cpu, cpu_sibling_setup_map);
|
cpu_clear(cpu, cpu_sibling_setup_map);
|
||||||
}
|
}
|
||||||
|
|
||||||
int additional_cpus __initdata = -1;
|
static int additional_cpus __initdata = -1;
|
||||||
|
|
||||||
static __init int setup_additional_cpus(char *s)
|
static __init int setup_additional_cpus(char *s)
|
||||||
{
|
{
|
||||||
|
@@ -476,29 +476,3 @@ int memory_add_physaddr_to_nid(u64 addr)
|
|||||||
|
|
||||||
EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
|
EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_HAVE_ARCH_PARSE_SRAT
|
|
||||||
/*
|
|
||||||
* XXX FIXME: Make SLIT table parsing available to 32-bit NUMA
|
|
||||||
*
|
|
||||||
* These stub functions are needed to compile 32-bit NUMA when SRAT is
|
|
||||||
* not set. There are functions in srat_64.c for parsing this table
|
|
||||||
* and it may be possible to make them common functions.
|
|
||||||
*/
|
|
||||||
void acpi_numa_slit_init (struct acpi_table_slit *slit)
|
|
||||||
{
|
|
||||||
printk(KERN_INFO "ACPI: No support for parsing SLIT table\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
void acpi_numa_processor_affinity_init (struct acpi_srat_cpu_affinity *pa)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void acpi_numa_memory_affinity_init (struct acpi_srat_mem_affinity *ma)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void acpi_numa_arch_fixup(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_HAVE_ARCH_PARSE_SRAT */
|
|
||||||
|
@@ -6,11 +6,19 @@ obj-$(CONFIG_PCI_DIRECT) += direct.o
|
|||||||
obj-$(CONFIG_PCI_OLPC) += olpc.o
|
obj-$(CONFIG_PCI_OLPC) += olpc.o
|
||||||
|
|
||||||
pci-y := fixup.o
|
pci-y := fixup.o
|
||||||
|
|
||||||
|
# Do not change the ordering here. There is a nasty init function
|
||||||
|
# ordering dependency which breaks when you move acpi.o below
|
||||||
|
# legacy/irq.o
|
||||||
pci-$(CONFIG_ACPI) += acpi.o
|
pci-$(CONFIG_ACPI) += acpi.o
|
||||||
pci-y += legacy.o irq.o
|
pci-y += legacy.o irq.o
|
||||||
|
|
||||||
pci-$(CONFIG_X86_VISWS) += visws.o fixup.o
|
# Careful: VISWS and NUMAQ overrule the pci-y above. The colons are
|
||||||
pci-$(CONFIG_X86_NUMAQ) += numa.o irq.o
|
# therefor correct. This needs a proper fix by distangling the code.
|
||||||
|
pci-$(CONFIG_X86_VISWS) := visws.o fixup.o
|
||||||
|
pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o
|
||||||
|
|
||||||
|
# Necessary for NUMAQ as well
|
||||||
pci-$(CONFIG_NUMA) += mp_bus_to_node.o
|
pci-$(CONFIG_NUMA) += mp_bus_to_node.o
|
||||||
|
|
||||||
obj-y += $(pci-y) common.o early.o
|
obj-y += $(pci-y) common.o early.o
|
||||||
|
@@ -162,7 +162,7 @@ static __init void relocate_vdso(Elf32_Ehdr *ehdr)
|
|||||||
Elf32_Shdr *shdr;
|
Elf32_Shdr *shdr;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
BUG_ON(memcmp(ehdr->e_ident, ELFMAG, 4) != 0 ||
|
BUG_ON(memcmp(ehdr->e_ident, ELFMAG, SELFMAG) != 0 ||
|
||||||
!elf_check_arch_ia32(ehdr) ||
|
!elf_check_arch_ia32(ehdr) ||
|
||||||
ehdr->e_type != ET_DYN);
|
ehdr->e_type != ET_DYN);
|
||||||
|
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
*
|
|
||||||
* Copyright (C) 2007 Antonino Daplas <adaplas@gmail.com>
|
* Copyright (C) 2007 Antonino Daplas <adaplas@gmail.com>
|
||||||
*
|
*
|
||||||
* This file is subject to the terms and conditions of the GNU General Public
|
* This file is subject to the terms and conditions of the GNU General Public
|
||||||
@@ -29,3 +28,4 @@ int fb_is_primary_device(struct fb_info *info)
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(fb_is_primary_device);
|
EXPORT_SYMBOL(fb_is_primary_device);
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
@@ -14,10 +14,10 @@
|
|||||||
|
|
||||||
/* extensible setup data list node */
|
/* extensible setup data list node */
|
||||||
struct setup_data {
|
struct setup_data {
|
||||||
u64 next;
|
__u64 next;
|
||||||
u32 type;
|
__u32 type;
|
||||||
u32 len;
|
__u32 len;
|
||||||
u8 data[0];
|
__u8 data[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct setup_header {
|
struct setup_header {
|
||||||
|
Reference in New Issue
Block a user