diff options
author | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-05-31 06:57:05 +0200 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-05-31 06:57:05 +0200 |
commit | 5bc65793cbf8da0d35f19ef025dda22887e79e80 (patch) | |
tree | 8291998abd73055de6f487fafa174ee2a5d3afee /arch/x86_64/kernel | |
parent | [SCSI] 3w-xxxx: convert to use the data buffer accessors (diff) | |
parent | a bug in ramfs_nommu_resize function, passing old size to vmtruncate (diff) | |
download | linux-5bc65793cbf8da0d35f19ef025dda22887e79e80.tar.xz linux-5bc65793cbf8da0d35f19ef025dda22887e79e80.zip |
[SCSI] Merge up to linux-2.6 head
Conflicts:
drivers/scsi/jazz_esp.c
Same changes made by both SCSI and SPARC trees: problem with UTF-8
conversion in the copyright.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'arch/x86_64/kernel')
-rw-r--r-- | arch/x86_64/kernel/early_printk.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/k8.c | 7 | ||||
-rw-r--r-- | arch/x86_64/kernel/reboot.c | 1 | ||||
-rw-r--r-- | arch/x86_64/kernel/vmlinux.lds.S | 4 | ||||
-rw-r--r-- | arch/x86_64/kernel/vsyscall.c | 5 |
5 files changed, 14 insertions, 5 deletions
diff --git a/arch/x86_64/kernel/early_printk.c b/arch/x86_64/kernel/early_printk.c index 56eaa259782b..296d2b0c5d88 100644 --- a/arch/x86_64/kernel/early_printk.c +++ b/arch/x86_64/kernel/early_printk.c @@ -91,9 +91,9 @@ static int early_serial_putc(unsigned char ch) static void early_serial_write(struct console *con, const char *s, unsigned n) { while (*s && n-- > 0) { - early_serial_putc(*s); if (*s == '\n') early_serial_putc('\r'); + early_serial_putc(*s); s++; } } diff --git a/arch/x86_64/kernel/k8.c b/arch/x86_64/kernel/k8.c index bc11b32e8b4d..7377ccb21335 100644 --- a/arch/x86_64/kernel/k8.c +++ b/arch/x86_64/kernel/k8.c @@ -39,10 +39,10 @@ int cache_k8_northbridges(void) { int i; struct pci_dev *dev; + if (num_k8_northbridges) return 0; - num_k8_northbridges = 0; dev = NULL; while ((dev = next_k8_northbridge(dev)) != NULL) num_k8_northbridges++; @@ -52,6 +52,11 @@ int cache_k8_northbridges(void) if (!k8_northbridges) return -ENOMEM; + if (!num_k8_northbridges) { + k8_northbridges[0] = NULL; + return 0; + } + flush_words = kmalloc(num_k8_northbridges * sizeof(u32), GFP_KERNEL); if (!flush_words) { kfree(k8_northbridges); diff --git a/arch/x86_64/kernel/reboot.c b/arch/x86_64/kernel/reboot.c index c116b54d422e..7503068e788d 100644 --- a/arch/x86_64/kernel/reboot.c +++ b/arch/x86_64/kernel/reboot.c @@ -8,6 +8,7 @@ #include <linux/string.h> #include <linux/pm.h> #include <linux/kdebug.h> +#include <linux/sched.h> #include <asm/io.h> #include <asm/delay.h> #include <asm/hw_irq.h> diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index 88cfa50b424d..dbccfda8364f 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S @@ -31,7 +31,7 @@ SECTIONS *(.bootstrap.text) _stext = .; /* Then the rest */ - *(.text) + TEXT_TEXT SCHED_TEXT LOCK_TEXT KPROBES_TEXT @@ -55,7 +55,7 @@ SECTIONS . = ALIGN(PAGE_SIZE); /* Align data segment to page size boundary */ /* Data */ .data : AT(ADDR(.data) - LOAD_OFFSET) { - *(.data) + DATA_DATA CONSTRUCTORS } :data diff --git a/arch/x86_64/kernel/vsyscall.c b/arch/x86_64/kernel/vsyscall.c index 51d4c6fa88c8..57660d58d500 100644 --- a/arch/x86_64/kernel/vsyscall.c +++ b/arch/x86_64/kernel/vsyscall.c @@ -175,10 +175,13 @@ int __vsyscall(0) vgettimeofday(struct timeval * tv, struct timezone * tz) * unlikely */ time_t __vsyscall(1) vtime(time_t *t) { + struct timeval tv; time_t result; if (unlikely(!__vsyscall_gtod_data.sysctl_enabled)) return time_syscall(t); - result = __vsyscall_gtod_data.wall_time_sec; + + vgettimeofday(&tv, 0); + result = tv.tv_sec; if (t) *t = result; return result; |