patch-2.1.16 linux/arch/sparc/kernel/setup.c
Next file: linux/arch/sparc/kernel/signal.c
Previous file: linux/arch/sparc/kernel/rtrap.S
Back to the patch index
Back to the overall index
- Lines: 86
- Date:
Fri Dec 13 11:37:31 1996
- Orig file:
v2.1.15/linux/arch/sparc/kernel/setup.c
- Orig date:
Tue Nov 12 15:56:03 1996
diff -u --recursive --new-file v2.1.15/linux/arch/sparc/kernel/setup.c linux/arch/sparc/kernel/setup.c
@@ -1,4 +1,4 @@
-/* $Id: setup.c,v 1.75 1996/10/12 12:37:27 davem Exp $
+/* $Id: setup.c,v 1.76 1996/11/13 05:09:32 davem Exp $
* linux/arch/sparc/kernel/setup.c
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
@@ -23,6 +23,7 @@
#include <linux/major.h>
#include <linux/string.h>
#include <linux/blk.h>
+#include <linux/init.h>
#include <asm/segment.h>
#include <asm/system.h>
@@ -140,7 +141,7 @@
* Process kernel command line switches that are specific to the
* SPARC or that require special low-level processing.
*/
-static void process_switch(char c)
+__initfunc(static void process_switch(char c))
{
switch (c) {
case 'd':
@@ -159,7 +160,7 @@
}
}
-static void boot_flags_init(char *commands)
+__initfunc(static void boot_flags_init(char *commands))
{
while (*commands) {
/* Move to the start of the next "argument". */
@@ -224,13 +225,13 @@
* physical memory probe as on the alpha.
*/
-extern void load_mmu(void);
extern int prom_probe_memory(void);
extern void sun4c_probe_vac(void);
extern char cputypval;
extern unsigned long start, end;
extern void panic_setup(char *, int *);
extern unsigned long srmmu_endmem_fixup(unsigned long);
+extern unsigned long sun_serial_setup(unsigned long);
extern unsigned short root_flags;
extern unsigned short root_dev;
@@ -251,8 +252,8 @@
static struct pt_regs fake_swapper_regs = { 0, 0, 0, 0, { 0, } };
-void setup_arch(char **cmdline_p,
- unsigned long * memory_start_p, unsigned long * memory_end_p)
+__initfunc(void setup_arch(char **cmdline_p,
+ unsigned long * memory_start_p, unsigned long * memory_end_p))
{
int total, i, packed;
@@ -384,6 +385,7 @@
init_task.mm->mmap->vm_end = *memory_end_p;
init_task.tss.kregs = &fake_swapper_regs;
+ *memory_start_p = sun_serial_setup(*memory_start_p); /* set this up ASAP */
{
extern int serial_console; /* in console.c, of course */
#if !CONFIG_SUN_SERIAL
@@ -435,6 +437,7 @@
return sprintf(buffer, "cpu\t\t: %s\n"
"fpu\t\t: %s\n"
"promlib\t\t: Version %d Revision %d\n"
+ "prom\t\t: %d.%d\n"
"type\t\t: %s\n"
"ncpus probed\t: %d\n"
"ncpus active\t: %d\n"
@@ -454,9 +457,9 @@
sparc_cpu_type[cpuid],
sparc_fpu_type[cpuid],
#if CONFIG_AP1000
- 0, 0,
+ 0, 0, 0, 0
#else
- romvec->pv_romvers, prom_rev,
+ romvec->pv_romvers, prom_rev, romvec->pv_printrev >> 16, (short)romvec->pv_printrev,
#endif
&cputypval,
linux_num_cpus, smp_num_cpus,
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov