diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-10-11 11:17:24 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2007-10-11 11:17:24 +0200 |
commit | 250c22777fe1ccd7ac588579a6c16db4c0161cc5 (patch) | |
tree | 55c317efb7d792ec6fdae1d1937c67a502c48dec /arch | |
parent | 2db55d344e529492545cb3b755c7e9ba8e4fa94e (diff) |
x86_64: move kernel
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/boot/compressed/head_64.S | 2 | ||||
-rw-r--r-- | arch/x86/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/x86/kernel/Makefile_32 | 2 | ||||
-rw-r--r-- | arch/x86/kernel/Makefile_64 (renamed from arch/x86_64/kernel/Makefile_64) | 9 | ||||
-rw-r--r-- | arch/x86/kernel/acpi/wakeup_64.S | 2 | ||||
-rw-r--r-- | arch/x86/kernel/aperture_64.c (renamed from arch/x86_64/kernel/aperture_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/apic_64.c (renamed from arch/x86_64/kernel/apic_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/asm-offsets_64.c (renamed from arch/x86_64/kernel/asm-offsets_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/audit_64.c (renamed from arch/x86_64/kernel/audit_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/bugs_64.c (renamed from arch/x86_64/kernel/bugs_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/crash_64.c (renamed from arch/x86_64/kernel/crash_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/crash_dump_64.c (renamed from arch/x86_64/kernel/crash_dump_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/e820_64.c (renamed from arch/x86_64/kernel/e820_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/early-quirks_64.c (renamed from arch/x86_64/kernel/early-quirks_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/early_printk.c | 259 | ||||
-rw-r--r-- | arch/x86/kernel/entry_64.S (renamed from arch/x86_64/kernel/entry_64.S) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/genapic_64.c (renamed from arch/x86_64/kernel/genapic_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/genapic_flat_64.c (renamed from arch/x86_64/kernel/genapic_flat_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/head64.c (renamed from arch/x86_64/kernel/head64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/head_64.S (renamed from arch/x86_64/kernel/head_64.S) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/hpet_64.c (renamed from arch/x86_64/kernel/hpet_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/i387_64.c (renamed from arch/x86_64/kernel/i387_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/i8259_64.c (renamed from arch/x86_64/kernel/i8259_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/init_task_64.c (renamed from arch/x86_64/kernel/init_task_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/io_apic_64.c (renamed from arch/x86_64/kernel/io_apic_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/ioport_64.c (renamed from arch/x86_64/kernel/ioport_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/irq_64.c (renamed from arch/x86_64/kernel/irq_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/k8.c (renamed from arch/x86_64/kernel/k8.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/kprobes_64.c (renamed from arch/x86_64/kernel/kprobes_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/ldt_64.c (renamed from arch/x86_64/kernel/ldt_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/machine_kexec_64.c (renamed from arch/x86_64/kernel/machine_kexec_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/mce_64.c (renamed from arch/x86_64/kernel/mce_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/mce_amd_64.c (renamed from arch/x86_64/kernel/mce_amd_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/mce_intel_64.c (renamed from arch/x86_64/kernel/mce_intel_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/module_64.c (renamed from arch/x86_64/kernel/module_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/mpparse_64.c (renamed from arch/x86_64/kernel/mpparse_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/nmi_64.c (renamed from arch/x86_64/kernel/nmi_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/pci-calgary_64.c (renamed from arch/x86_64/kernel/pci-calgary_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/pci-dma_64.c (renamed from arch/x86_64/kernel/pci-dma_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/pci-gart_64.c (renamed from arch/x86_64/kernel/pci-gart_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/pci-nommu_64.c (renamed from arch/x86_64/kernel/pci-nommu_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/pci-swiotlb_64.c (renamed from arch/x86_64/kernel/pci-swiotlb_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/pmtimer_64.c (renamed from arch/x86_64/kernel/pmtimer_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/process_64.c (renamed from arch/x86_64/kernel/process_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/ptrace_64.c (renamed from arch/x86_64/kernel/ptrace_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/reboot_64.c (renamed from arch/x86_64/kernel/reboot_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/relocate_kernel_64.S (renamed from arch/x86_64/kernel/relocate_kernel_64.S) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/setup64.c (renamed from arch/x86_64/kernel/setup64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/setup_64.c (renamed from arch/x86_64/kernel/setup_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/signal_64.c (renamed from arch/x86_64/kernel/signal_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/smp_64.c (renamed from arch/x86_64/kernel/smp_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/smpboot_64.c (renamed from arch/x86_64/kernel/smpboot_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/stacktrace.c (renamed from arch/x86_64/kernel/stacktrace.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/suspend_64.c (renamed from arch/x86_64/kernel/suspend_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/suspend_asm_64.S (renamed from arch/x86_64/kernel/suspend_asm_64.S) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/sys_x86_64.c (renamed from arch/x86_64/kernel/sys_x86_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/syscall_64.c (renamed from arch/x86_64/kernel/syscall_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/tce_64.c (renamed from arch/x86_64/kernel/tce_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/time_64.c (renamed from arch/x86_64/kernel/time_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/trampoline_64.S (renamed from arch/x86_64/kernel/trampoline_64.S) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/traps_64.c (renamed from arch/x86_64/kernel/traps_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/tsc_64.c (renamed from arch/x86_64/kernel/tsc_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/tsc_sync.c | 188 | ||||
-rw-r--r-- | arch/x86/kernel/verify_cpu_64.S (renamed from arch/x86_64/kernel/verify_cpu_64.S) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux_64.lds.S (renamed from arch/x86_64/kernel/vmlinux_64.lds.S) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/vsmp_64.c (renamed from arch/x86_64/kernel/vsmp_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/vsyscall_64.c (renamed from arch/x86_64/kernel/vsyscall_64.c) | 0 | ||||
-rw-r--r-- | arch/x86/kernel/x8664_ksyms_64.c (renamed from arch/x86_64/kernel/x8664_ksyms_64.c) | 0 | ||||
-rw-r--r-- | arch/x86_64/Makefile | 11 | ||||
-rw-r--r-- | arch/x86_64/kernel/Makefile | 5 | ||||
-rw-r--r-- | arch/x86_64/kernel/asm-offsets.c | 5 | ||||
-rw-r--r-- | arch/x86_64/kernel/early_printk.c | 259 | ||||
-rw-r--r-- | arch/x86_64/kernel/tsc_sync.c | 187 | ||||
-rw-r--r-- | arch/x86_64/kernel/vmlinux.lds.S | 5 |
74 files changed, 457 insertions, 479 deletions
diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S index cff3d1dc5dd..49467640751 100644 --- a/arch/x86/boot/compressed/head_64.S +++ b/arch/x86/boot/compressed/head_64.S @@ -174,7 +174,7 @@ no_longmode: hlt jmp 1b -#include "../../../x86_64/kernel/verify_cpu_64.S" +#include "../../kernel/verify_cpu_64.S" /* Be careful here startup_64 needs to be at a predictable * address so I can export it in an ELF header. Bootloaders diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 577d08f4b8b..45855c97923 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile @@ -1,5 +1,5 @@ ifeq ($(CONFIG_X86_32),y) include ${srctree}/arch/x86/kernel/Makefile_32 else -include ${srctree}/arch/x86_64/kernel/Makefile_64 +include ${srctree}/arch/x86/kernel/Makefile_64 endif diff --git a/arch/x86/kernel/Makefile_32 b/arch/x86/kernel/Makefile_32 index 5096f486d38..cb25523026a 100644 --- a/arch/x86/kernel/Makefile_32 +++ b/arch/x86/kernel/Makefile_32 @@ -83,6 +83,4 @@ $(obj)/vsyscall-syms.o: $(src)/vsyscall_32.lds \ $(obj)/vsyscall-sysenter_32.o $(obj)/vsyscall-note_32.o FORCE $(call if_changed,syscall) -k8-y += ../../x86_64/kernel/k8.o -stacktrace-y += ../../x86_64/kernel/stacktrace.o diff --git a/arch/x86_64/kernel/Makefile_64 b/arch/x86/kernel/Makefile_64 index 120d4e51fd4..6e6b5909e46 100644 --- a/arch/x86_64/kernel/Makefile_64 +++ b/arch/x86/kernel/Makefile_64 @@ -49,15 +49,6 @@ obj-y += pcspeaker.o CFLAGS_vsyscall_64.o := $(PROFILING) -g0 therm_throt-y += ../../x86/kernel/cpu/mcheck/therm_throt.o -bootflag-y += ../../x86/kernel/bootflag.o -cpuid-$(subst m,y,$(CONFIG_X86_CPUID)) += ../../x86/kernel/cpuid.o -topology-y += ../../x86/kernel/topology.o -microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../x86/kernel/microcode.o intel_cacheinfo-y += ../../x86/kernel/cpu/intel_cacheinfo.o addon_cpuid_features-y += ../../x86/kernel/cpu/addon_cpuid_features.o -quirks-y += ../../x86/kernel/quirks.o -i8237-y += ../../x86/kernel/i8237.o -msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../x86/kernel/msr.o -alternative-y += ../../x86/kernel/alternative.o -pcspeaker-y += ../../x86/kernel/pcspeaker.o perfctr-watchdog-y += ../../x86/kernel/cpu/perfctr-watchdog.o diff --git a/arch/x86/kernel/acpi/wakeup_64.S b/arch/x86/kernel/acpi/wakeup_64.S index 5e3b3f5496c..8b4357e1efe 100644 --- a/arch/x86/kernel/acpi/wakeup_64.S +++ b/arch/x86/kernel/acpi/wakeup_64.S @@ -269,7 +269,7 @@ no_longmode: movb $0xbc,%al ; outb %al,$0x80 jmp no_longmode -#include "../../../x86_64/kernel/verify_cpu_64.S" +#include "../verify_cpu_64.S" /* This code uses an extended set of video mode numbers. These include: * Aliases for standard modes diff --git a/arch/x86_64/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c index 8f681cae7bf..8f681cae7bf 100644 --- a/arch/x86_64/kernel/aperture_64.c +++ b/arch/x86/kernel/aperture_64.c diff --git a/arch/x86_64/kernel/apic_64.c b/arch/x86/kernel/apic_64.c index 925758dbca0..925758dbca0 100644 --- a/arch/x86_64/kernel/apic_64.c +++ b/arch/x86/kernel/apic_64.c diff --git a/arch/x86_64/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c index 778953bc636..778953bc636 100644 --- a/arch/x86_64/kernel/asm-offsets_64.c +++ b/arch/x86/kernel/asm-offsets_64.c diff --git a/arch/x86_64/kernel/audit_64.c b/arch/x86/kernel/audit_64.c index 06d3e5a14d9..06d3e5a14d9 100644 --- a/arch/x86_64/kernel/audit_64.c +++ b/arch/x86/kernel/audit_64.c diff --git a/arch/x86_64/kernel/bugs_64.c b/arch/x86/kernel/bugs_64.c index 4e5e9d364d6..4e5e9d364d6 100644 --- a/arch/x86_64/kernel/bugs_64.c +++ b/arch/x86/kernel/bugs_64.c diff --git a/arch/x86_64/kernel/crash_64.c b/arch/x86/kernel/crash_64.c index 13432a1ae90..13432a1ae90 100644 --- a/arch/x86_64/kernel/crash_64.c +++ b/arch/x86/kernel/crash_64.c diff --git a/arch/x86_64/kernel/crash_dump_64.c b/arch/x86/kernel/crash_dump_64.c index 942deac4d43..942deac4d43 100644 --- a/arch/x86_64/kernel/crash_dump_64.c +++ b/arch/x86/kernel/crash_dump_64.c diff --git a/arch/x86_64/kernel/e820_64.c b/arch/x86/kernel/e820_64.c index 0f4d5e209e9..0f4d5e209e9 100644 --- a/arch/x86_64/kernel/e820_64.c +++ b/arch/x86/kernel/e820_64.c diff --git a/arch/x86_64/kernel/early-quirks_64.c b/arch/x86/kernel/early-quirks_64.c index 13aa4fd728f..13aa4fd728f 100644 --- a/arch/x86_64/kernel/early-quirks_64.c +++ b/arch/x86/kernel/early-quirks_64.c diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c index 92f812ba275..fd9aff3f389 100644 --- a/arch/x86/kernel/early_printk.c +++ b/arch/x86/kernel/early_printk.c @@ -1,2 +1,259 @@ +#include <linux/console.h> +#include <linux/kernel.h> +#include <linux/init.h> +#include <linux/string.h> +#include <linux/screen_info.h> +#include <asm/io.h> +#include <asm/processor.h> +#include <asm/fcntl.h> +#include <xen/hvc-console.h> -#include "../../x86_64/kernel/early_printk.c" +/* Simple VGA output */ + +#ifdef __i386__ +#include <asm/setup.h> +#else +#include <asm/bootsetup.h> +#endif +#define VGABASE (__ISA_IO_base + 0xb8000) + +static int max_ypos = 25, max_xpos = 80; +static int current_ypos = 25, current_xpos = 0; + +static void early_vga_write(struct console *con, const char *str, unsigned n) +{ + char c; + int i, k, j; + + while ((c = *str++) != '\0' && n-- > 0) { + if (current_ypos >= max_ypos) { + /* scroll 1 line up */ + for (k = 1, j = 0; k < max_ypos; k++, j++) { + for (i = 0; i < max_xpos; i++) { + writew(readw(VGABASE+2*(max_xpos*k+i)), + VGABASE + 2*(max_xpos*j + i)); + } + } + for (i = 0; i < max_xpos; i++) + writew(0x720, VGABASE + 2*(max_xpos*j + i)); + current_ypos = max_ypos-1; + } + if (c == '\n') { + current_xpos = 0; + current_ypos++; + } else if (c != '\r') { + writew(((0x7 << 8) | (unsigned short) c), + VGABASE + 2*(max_xpos*current_ypos + + current_xpos++)); + if (current_xpos >= max_xpos) { + current_xpos = 0; + current_ypos++; + } + } + } +} + +static struct console early_vga_console = { + .name = "earlyvga", + .write = early_vga_write, + .flags = CON_PRINTBUFFER, + .index = -1, +}; + +/* Serial functions loosely based on a similar package from Klaus P. Gerlicher */ + +static int early_serial_base = 0x3f8; /* ttyS0 */ + +#define XMTRDY 0x20 + +#define DLAB 0x80 + +#define TXR 0 /* Transmit register (WRITE) */ +#define RXR 0 /* Receive register (READ) */ +#define IER 1 /* Interrupt Enable */ +#define IIR 2 /* Interrupt ID */ +#define FCR 2 /* FIFO control */ +#define LCR 3 /* Line control */ +#define MCR 4 /* Modem control */ +#define LSR 5 /* Line Status */ +#define MSR 6 /* Modem Status */ +#define DLL 0 /* Divisor Latch Low */ +#define DLH 1 /* Divisor latch High */ + +static int early_serial_putc(unsigned char ch) +{ + unsigned timeout = 0xffff; + while ((inb(early_serial_base + LSR) & XMTRDY) == 0 && --timeout) + cpu_relax(); + outb(ch, early_serial_base + TXR); + return timeout ? 0 : -1; +} + +static void early_serial_write(struct console *con, const char *s, unsigned n) +{ + while (*s && n-- > 0) { + if (*s == '\n') + early_serial_putc('\r'); + early_serial_putc(*s); + s++; + } +} + +#define DEFAULT_BAUD 9600 + +static __init void early_serial_init(char *s) +{ + unsigned char c; + unsigned divisor; + unsigned baud = DEFAULT_BAUD; + char *e; + + if (*s == ',') + ++s; + + if (*s) { + unsigned port; + if (!strncmp(s,"0x",2)) { + early_serial_base = simple_strtoul(s, &e, 16); + } else { + static int bases[] = { 0x3f8, 0x2f8 }; + + if (!strncmp(s,"ttyS",4)) + s += 4; + port = simple_strtoul(s, &e, 10); + if (port > 1 || s == e) + port = 0; + early_serial_base = bases[port]; + } + s += strcspn(s, ","); + if (*s == ',') + s++; + } + + outb(0x3, early_serial_base + LCR); /* 8n1 */ + outb(0, early_serial_base + IER); /* no interrupt */ + outb(0, early_serial_base + FCR); /* no fifo */ + outb(0x3, early_serial_base + MCR); /* DTR + RTS */ + + if (*s) { + baud = simple_strtoul(s, &e, 0); + if (baud == 0 || s == e) + baud = DEFAULT_BAUD; + } + + divisor = 115200 / baud; + c = inb(early_serial_base + LCR); + outb(c | DLAB, early_serial_base + LCR); + outb(divisor & 0xff, early_serial_base + DLL); + outb((divisor >> 8) & 0xff, early_serial_base + DLH); + outb(c & ~DLAB, early_serial_base + LCR); +} + +static struct console early_serial_console = { + .name = "earlyser", + .write = early_serial_write, + .flags = CON_PRINTBUFFER, + .index = -1, +}; + +/* Console interface to a host file on AMD's SimNow! */ + +static int simnow_fd; + +enum { + MAGIC1 = 0xBACCD00A, + MAGIC2 = 0xCA110000, + XOPEN = 5, + XWRITE = 4, +}; + +static noinline long simnow(long cmd, long a, long b, long c) +{ + long ret; + asm volatile("cpuid" : + "=a" (ret) : + "b" (a), "c" (b), "d" (c), "0" (MAGIC1), "D" (cmd + MAGIC2)); + return ret; +} + +static void __init simnow_init(char *str) +{ + char *fn = "klog"; + if (*str == '=') + fn = ++str; + /* error ignored */ + simnow_fd = simnow(XOPEN, (unsigned long)fn, O_WRONLY|O_APPEND|O_CREAT, 0644); +} + +static void simnow_write(struct console *con, const char *s, unsigned n) +{ + simnow(XWRITE, simnow_fd, (unsigned long)s, n); +} + +static struct console simnow_console = { + .name = "simnow", + .write = simnow_write, + .flags = CON_PRINTBUFFER, + .index = -1, +}; + +/* Direct interface for emergencies */ +struct console *early_console = &early_vga_console; +static int early_console_initialized = 0; + +void early_printk(const char *fmt, ...) +{ + char buf[512]; + int n; + va_list ap; + + va_start(ap,fmt); + n = vscnprintf(buf,512,fmt,ap); + early_console->write(early_console,buf,n); + va_end(ap); +} + +static int __initdata keep_early; + +static int __init setup_early_printk(char *buf) +{ + if (!buf) + return 0; + + if (early_console_initialized) + return 0; + early_console_initialized = 1; + + if (strstr(buf, "keep")) + keep_early = 1; + + if (!strncmp(buf, "serial", 6)) { + early_serial_init(buf + 6); + early_console = &early_serial_console; + } else if (!strncmp(buf, "ttyS", 4)) { + early_serial_init(buf); + early_console = &early_serial_console; + } else if (!strncmp(buf, "vga", 3) + && SCREEN_INFO.orig_video_isVGA == 1) { + max_xpos = SCREEN_INFO.orig_video_cols; + max_ypos = SCREEN_INFO.orig_video_lines; + current_ypos = SCREEN_INFO.orig_y; + early_console = &early_vga_console; + } else if (!strncmp(buf, "simnow", 6)) { + simnow_init(buf + 6); + early_console = &simnow_console; + keep_early = 1; +#ifdef CONFIG_HVC_XEN + } else if (!strncmp(buf, "xen", 3)) { + early_console = &xenboot_console; +#endif + } + + if (keep_early) + early_console->flags &= ~CON_BOOT; + else + early_console->flags |= CON_BOOT; + register_console(early_console); + return 0; +} +early_param("earlyprintk", setup_early_printk); diff --git a/arch/x86_64/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 1d232e5f565..1d232e5f565 100644 --- a/arch/x86_64/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S diff --git a/arch/x86_64/kernel/genapic_64.c b/arch/x86/kernel/genapic_64.c index 47496a40e84..47496a40e84 100644 --- a/arch/x86_64/kernel/genapic_64.c +++ b/arch/x86/kernel/genapic_64.c diff --git a/arch/x86_64/kernel/genapic_flat_64.c b/arch/x86/kernel/genapic_flat_64.c index ecb01eefdd2..ecb01eefdd2 100644 --- a/arch/x86_64/kernel/genapic_flat_64.c +++ b/arch/x86/kernel/genapic_flat_64.c diff --git a/arch/x86_64/kernel/head64.c b/arch/x86/kernel/head64.c index 6c34bdd22e2..6c34bdd22e2 100644 --- a/arch/x86_64/kernel/head64.c +++ b/arch/x86/kernel/head64.c diff --git a/arch/x86_64/kernel/head_64.S b/arch/x86/kernel/head_64.S index b6167fe3330..b6167fe3330 100644 --- a/arch/x86_64/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S diff --git a/arch/x86_64/kernel/hpet_64.c b/arch/x86/kernel/hpet_64.c index e2d1b912e15..e2d1b912e15 100644 --- a/arch/x86_64/kernel/hpet_64.c +++ b/arch/x86/kernel/hpet_64.c diff --git a/arch/x86_64/kernel/i387_64.c b/arch/x86/kernel/i387_64.c index 1d58c13bc6b..1d58c13bc6b 100644 --- a/arch/x86_64/kernel/i387_64.c +++ b/arch/x86/kernel/i387_64.c diff --git a/arch/x86_64/kernel/i8259_64.c b/arch/x86/kernel/i8259_64.c index 9 |