summaryrefslogtreecommitdiff
path: root/sys/arch/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/alpha')
-rw-r--r--sys/arch/alpha/conf/ld.script19
-rw-r--r--sys/arch/alpha/include/param.h4
2 files changed, 19 insertions, 4 deletions
diff --git a/sys/arch/alpha/conf/ld.script b/sys/arch/alpha/conf/ld.script
index 0c66515d575..dfb20a2dd05 100644
--- a/sys/arch/alpha/conf/ld.script
+++ b/sys/arch/alpha/conf/ld.script
@@ -1,4 +1,4 @@
-/* $OpenBSD: ld.script,v 1.1 2009/09/24 19:51:32 miod Exp $ */
+/* $OpenBSD: ld.script,v 1.2 2009/10/02 17:57:20 miod Exp $ */
/*
* Copyright (c) 2009 Miodrag Vallat.
@@ -26,7 +26,22 @@ OUTPUT_ARCH(alpha)
ENTRY(__start)
SECTIONS
{
- . = 0xfffffc0000230000;
+ /*
+ * The start address needs to be a physical address allowing for
+ * enough room for the console firmware, and the boot loader.
+ * On most alpha machines, the console fits in no more than
+ * 2MB, to which we need to add 256KB of boot blocks and the
+ * initial kernel stack.
+ * However, some of the last alpha models (*5 D and E series,
+ * *7, and G series) have much larger console sizes.
+ * The largest console encountered so far is 0x51c000 bytes long
+ * (on DS25).
+ *
+ * If you change this value, make sure to update KERNBASE in
+ * <machine/param.h> as well.
+ */
+ . = 0xfffffc0000580000;
+
.text : { *(.text .text.* .gnu.linkonce.t.*) }
PROVIDE(etext = .);
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
diff --git a/sys/arch/alpha/include/param.h b/sys/arch/alpha/include/param.h
index 721367e8939..ace9b16468c 100644
--- a/sys/arch/alpha/include/param.h
+++ b/sys/arch/alpha/include/param.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: param.h,v 1.33 2007/09/15 10:10:37 martin Exp $ */
+/* $OpenBSD: param.h,v 1.34 2009/10/02 17:57:23 miod Exp $ */
/* $NetBSD: param.h,v 1.30 2000/06/09 16:03:04 thorpej Exp $ */
/*
@@ -74,7 +74,7 @@
#define PAGE_SIZE (1 << PAGE_SHIFT)
#define PAGE_MASK (PAGE_SIZE - 1)
-#define KERNBASE 0xfffffc0000230000 /* start of kernel virtual */
+#define KERNBASE 0xfffffc0000580000 /* start of kernel virtual */
#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
#define DEV_BSIZE (1 << DEV_BSHIFT)