Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
3d79bc5c
Commit
3d79bc5c
authored
May 25, 2002
by
Paul Mackerras
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/home/paulus/kernel/linux-2.5
into samba.org:/home/paulus/kernel/for-linus-ppc
parents
d0f0cde1
a77e3b76
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
140 additions
and
137 deletions
+140
-137
arch/ppc/Config.help
arch/ppc/Config.help
+8
-1
arch/ppc/boot/common/misc-simple.c
arch/ppc/boot/common/misc-simple.c
+2
-2
arch/ppc/boot/common/relocate.S
arch/ppc/boot/common/relocate.S
+3
-2
arch/ppc/boot/prep/misc.c
arch/ppc/boot/prep/misc.c
+2
-2
arch/ppc/boot/simple/chrpmap.S
arch/ppc/boot/simple/chrpmap.S
+3
-3
arch/ppc/boot/simple/direct.S
arch/ppc/boot/simple/direct.S
+4
-3
arch/ppc/boot/simple/legacy.S
arch/ppc/boot/simple/legacy.S
+3
-3
arch/ppc/boot/simple/misc-embedded.c
arch/ppc/boot/simple/misc-embedded.c
+1
-1
arch/ppc/config.in
arch/ppc/config.in
+6
-5
arch/ppc/kernel/Makefile
arch/ppc/kernel/Makefile
+3
-4
arch/ppc/kernel/i8259.c
arch/ppc/kernel/i8259.c
+36
-51
arch/ppc/kernel/open_pic.c
arch/ppc/kernel/open_pic.c
+8
-14
arch/ppc/platforms/lopec_pci.c
arch/ppc/platforms/lopec_pci.c
+1
-8
arch/ppc/platforms/lopec_setup.c
arch/ppc/platforms/lopec_setup.c
+10
-19
arch/ppc/platforms/mcpn765_setup.c
arch/ppc/platforms/mcpn765_setup.c
+2
-3
arch/ppc/platforms/pplus_setup.c
arch/ppc/platforms/pplus_setup.c
+1
-4
arch/ppc/platforms/prep_setup.c
arch/ppc/platforms/prep_setup.c
+8
-6
arch/ppc/platforms/residual.c
arch/ppc/platforms/residual.c
+35
-0
arch/ppc/platforms/sandpoint_setup.c
arch/ppc/platforms/sandpoint_setup.c
+2
-3
include/asm-ppc/i8259.h
include/asm-ppc/i8259.h
+2
-3
No files found.
arch/ppc/Config.help
View file @
3d79bc5c
...
...
@@ -340,9 +340,16 @@ CONFIG_PREP_RESIDUAL
other useful pieces of information. Sometimes this information is
not present or incorrect.
Unless you expect to boot on a PReP system, there is no
t
need to
Unless you expect to boot on a PReP system, there is no need to
select Y.
PReP residual data available in /proc/residual
CONFIG_PROC_PREPRESIDUAL
Enabling this option will create a /proc/residual file which allows
you to get at the residual data on PReP systems. You will need a tool
(lsresidual) to parse it. If you aren't on a PReP system, you don't
want this.
CONFIG_ADB
Apple Desktop Bus (ADB) support is for support of devices which
are connected to an ADB port. ADB devices tend to have 4 pins.
...
...
arch/ppc/boot/common/misc-simple.c
View file @
3d79bc5c
...
...
@@ -67,7 +67,7 @@ extern int CRT_tstc(void);
extern
unsigned
long
serial_init
(
int
chan
,
void
*
ignored
);
extern
void
serial_close
(
unsigned
long
com_port
);
extern
void
gunzip
(
void
*
,
int
,
unsigned
char
*
,
int
*
);
extern
void
se
tup_legacy
(
void
);
extern
void
se
rial_fixups
(
void
);
struct
bi_record
*
decompress_kernel
(
unsigned
long
load_addr
,
int
num_words
,
unsigned
long
cksum
)
...
...
@@ -76,7 +76,7 @@ decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum)
char
*
cp
,
ch
;
struct
bi_record
*
rec
,
*
birecs
;
se
tup_legacy
();
se
rial_fixups
();
com_port
=
serial_init
(
0
,
NULL
);
/* assume the chunk below 8M is free */
...
...
arch/ppc/boot/common/relocate.S
View file @
3d79bc5c
...
...
@@ -9,7 +9,7 @@
*
trini
@
mvista
.
com
*
Derived
from
arch
/
ppc
/
boot
/
prep
/
head
.
S
(
Cort
Dougan
,
many
others
)
.
*
*
Copyright
2001
MontaVista
Software
Inc
.
*
Copyright
2001
-
2002
MontaVista
Software
Inc
.
*
*
This
program
is
free
software
; you can redistribute it and/or modify it
*
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
...
...
@@ -188,10 +188,11 @@ start_ldr:
bl
decompress_kernel
/
*
*
Make
sure
the
kernel
knows
we
don
't have things set
in
*
Make
sure
the
kernel
knows
we
don
't have things set in
*
registers
.
--
Tom
*/
li
r4
,
0
li
r5
,
0
li
r6
,
0
/
*
...
...
arch/ppc/boot/prep/misc.c
View file @
3d79bc5c
...
...
@@ -75,7 +75,7 @@ extern void gunzip(void *, int, unsigned char *, int *);
extern
void
_put_MSR
(
unsigned
int
val
);
extern
unsigned
long
serial_init
(
int
chan
,
void
*
ignored
);
extern
void
se
tup_legacy
(
void
);
extern
void
se
rial_fixups
(
void
);
void
writel
(
unsigned
int
val
,
unsigned
int
address
)
...
...
@@ -134,7 +134,7 @@ decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum,
int
start_multi
=
0
;
unsigned
int
pci_viddid
,
pci_did
,
tulip_pci_base
,
tulip_base
;
se
tup_legacy
();
se
rial_fixups
();
#if defined(CONFIG_SERIAL_CONSOLE)
com_port
=
serial_init
(
0
,
NULL
);
#endif
/* CONFIG_SERIAL_CONSOLE */
...
...
arch/ppc/boot/simple/chrpmap.S
View file @
3d79bc5c
...
...
@@ -3,15 +3,15 @@
*
*
Author
:
Tom
Rini
<
trini
@
mvista
.
com
>
*
*
This
will
go
and
setup
ISA_io
to
0xFE00000
.
*
This
will
go
and
setup
ISA_io
to
0xFE00000
and
return
.
*/
#include <asm/ppc_asm.h>
.
text
.
globl
se
tup_legacy
se
tup_legacy
:
.
globl
se
rial_fixups
se
rial_fixups
:
lis
r3
,
ISA_io
@
h
/*
Load
ISA_io
*/
ori
r3
,
r3
,
ISA_io
@
l
lis
r4
,
0xFE00
/*
Load
the
value
,
0xFE00000
*/
...
...
arch/ppc/boot/simple/direct.S
View file @
3d79bc5c
...
...
@@ -4,11 +4,12 @@
*
Author
:
Tom
Rini
<
trini
@
mvista
.
com
>
*
*
This
is
an
empty
function
for
machines
which
use
SERIAL_IO_MEM
*
and
don
't need ISA_io set to anything but 0;
*
and
don
't need ISA_io set to anything but 0, or perform any other
*
serial
fixups
.
*/
.
text
.
globl
se
tup_legacy
se
tup_legacy
:
.
globl
se
rial_fixups
se
rial_fixups
:
blr
arch/ppc/boot/simple/legacy.S
View file @
3d79bc5c
...
...
@@ -3,15 +3,15 @@
*
*
Author
:
Tom
Rini
<
trini
@
mvista
.
com
>
*
*
This
will
go
and
setup
ISA_io
to
0x8000000
.
*
This
will
go
and
setup
ISA_io
to
0x8000000
and
return
.
*/
#include <asm/ppc_asm.h>
.
text
.
globl
se
tup_legacy
se
tup_legacy
:
.
globl
se
rial_fixups
se
rial_fixups
:
lis
r3
,
ISA_io
@
h
/*
Load
ISA_io
*/
ori
r3
,
r3
,
ISA_io
@
l
lis
r4
,
0x8000
/*
Load
the
value
,
0x8000000
*/
...
...
arch/ppc/boot/simple/misc-embedded.c
View file @
3d79bc5c
...
...
@@ -54,7 +54,7 @@ char *bootrom_cmdline = "";
char
compiled_string
[]
=
CONFIG_CMDLINE
;
#endif
char
ramroot_string
[]
=
"root=/dev/ram"
;
char
netroot_string
[]
=
"root=/dev/nfs rw ip=
auto
"
;
char
netroot_string
[]
=
"root=/dev/nfs rw ip=
on
"
;
/* Serial port to use. */
unsigned
long
com_port
;
...
...
arch/ppc/config.in
View file @
3d79bc5c
...
...
@@ -362,6 +362,7 @@ if [ "$CONFIG_ALL_PPC" = "y" ]; then
bool 'Support for Open Firmware device tree in /proc' CONFIG_PROC_DEVICETREE
bool 'Support for RTAS (RunTime Abstraction Services) in /proc' CONFIG_PPC_RTAS
bool 'Support for PReP Residual Data' CONFIG_PREP_RESIDUAL
dep_bool ' Support for reading of PReP Residual Data in /proc' CONFIG_PROC_PREPRESIDUAL $CONFIG_PREP_RESIDUAL
fi
bool 'Default bootloader kernel arguments' CONFIG_CMDLINE_BOOL
...
...
@@ -574,15 +575,15 @@ if [ "$CONFIG_8260" = "y" ]; then
source arch/ppc/8260_io/Config.in
fi
if [ "$CONFIG_4xx" = "y"]; then
if [ "$CONFIG_4xx" = "y"
]; then
mainmenu_option next_comment
comment 'IBM 4xx options'
if [ "$CONFIG_STB03xxx" = "y" ]; then
bool 'STB IR Keyboard' CONFIG_STB_KB
bool 'SICC Serial port' CONFIG_SERIAL_SICC
if [ "$CONFIG_SERIAL_SICC" = "y" -a "$CONFIG_UART0_TTYS1" = "y" ]; then
define_bool CONFIG_UART1_DFLT_CONSOLE y
define_bool CONFIG_SERIAL_SICC_CONSOLE y
define_bool CONFIG_UART1_DFLT_CONSOLE y
define_bool CONFIG_SERIAL_SICC_CONSOLE y
fi
fi
endmenu
...
...
@@ -621,8 +622,8 @@ if [ "$CONFIG_ALL_PPC" = "y" ]; then
fi
if [ "$CONFIG_4xx" = "y" -o "$CONFIG_GT64260" = "y" \
-o "$CONFIG_LOPEC" = "y" -o "$CONFIG_MCPN765" = "y" \
-o "$CONFIG_P
RPMC800" = "y" -o "$CONFIG_SANDPOINT
" = "y" \
-o "$CONFIG_ZX4500" = "y" ]; then
-o "$CONFIG_P
PLUS" = "y" -o "$CONFIG_PRPMC800
" = "y" \
-o "$CONFIG_
SANDPOINT" = "y" -o "$CONFIG_
ZX4500" = "y" ]; then
bool 'Support for early boot texts over serial port' CONFIG_SERIAL_TEXT_DEBUG
fi
endmenu
arch/ppc/kernel/Makefile
View file @
3d79bc5c
...
...
@@ -54,19 +54,18 @@ obj-$(CONFIG_PM) += ppc4xx_pm.o
endif
obj-$(CONFIG_8xx)
+=
m8xx_setup.o ppc8xx_pic.o
ifeq
($(CONFIG_8xx),y)
obj-$(CONFIG_PCI)
+=
qspan_pci.o
ifn
def
CONFIG_MATH_EMULATION
obj-$(CONFIG_PCI)
+=
qspan_pci.o
i8259.o
ifn
eq
($(CONFIG_MATH_EMULATION),n)
obj-y
+=
softemu8xx.o
endif
endif
obj-$(CONFIG_MBX)
+=
i8259.o
obj-$(CONFIG_ALL_PPC)
+=
prom_init.o prom.o open_pic.o
\
indirect_pci.o i8259.o
obj-$(CONFIG_ADIR)
+=
i8259.o indirect_pci.o pci_auto.o
\
todc_time.o
obj-$(CONFIG_EV64260)
+=
gt64260_common.o gt64260_pic.o
\
indirect_pci.o todc_time.o pci_auto.o
obj-$(CONFIG_GEMINI)
+=
open_pic.o
obj-$(CONFIG_GEMINI)
+=
open_pic.o
i8259.o
obj-$(CONFIG_K2)
+=
i8259.o indirect_pci.o todc_time.o
\
pci_auto.o
obj-$(CONFIG_LOPEC)
+=
mpc10x_common.o indirect_pci.o pci_auto.o
\
...
...
arch/ppc/kernel/i8259.c
View file @
3d79bc5c
...
...
@@ -21,17 +21,37 @@ static spinlock_t i8259_lock = SPIN_LOCK_UNLOCKED;
int
i8259_pic_irq_offset
;
/* Acknowledge the irq using the PCI host bridge's interrupt acknowledge
* feature. (Polling is somehow broken on some IBM and Motorola PReP boxes.)
/*
* Acknowledge the IRQ using either the PCI host bridge's interrupt
* acknowledge feature or poll. How i8259_init() is called determines
* which is called. It should be noted that polling is broken on some
* IBM and Motorola PReP boxes so we must use the int-ack feature on them.
*/
int
i8259_irq
(
struct
pt_regs
*
regs
)
int
i8259_irq
(
struct
pt_regs
*
regs
)
{
int
irq
;
spin_lock
/*_irqsave*/
(
&
i8259_lock
/*, flags*/
);
spin_lock
(
&
i8259_lock
);
/* Either int-ack or poll for the IRQ */
if
(
pci_intack
)
irq
=
*
pci_intack
;
else
{
/* Perform an interrupt acknowledge cycle on controller 1. */
outb
(
0x0C
,
0x20
);
/* prepare for poll */
irq
=
inb
(
0x20
)
&
7
;
if
(
irq
==
2
)
{
/*
* Interrupt is cascaded so perform interrupt
* acknowledge on controller 2.
*/
outb
(
0x0C
,
0xA0
);
/* prepare for poll */
irq
=
(
inb
(
0xA0
)
&
7
)
+
8
;
}
}
irq
=
*
pci_intack
;
if
(
irq
==
7
)
{
if
(
irq
==
7
)
{
/*
* This may be a spurious interrupt.
*
...
...
@@ -39,47 +59,13 @@ int i8259_irq(struct pt_regs *regs)
* significant bit is not set then there is no valid
* interrupt.
*/
if
(
~
inb
(
0x20
)
&
0x80
)
{
if
(
!
pci_intack
)
outb
(
0x0B
,
0x20
);
/* ISR register */
if
(
~
inb
(
0x20
)
&
0x80
)
irq
=
-
1
;
}
}
spin_unlock
/*_irqrestore*/
(
&
i8259_lock
/*, flags*/
);
return
irq
;
}
/* Poke the 8259's directly using poll commands. */
int
i8259_poll
(
void
)
{
int
irq
;
spin_lock
/*_irqsave*/
(
&
i8259_lock
/*, flags*/
);
/*
* Perform an interrupt acknowledge cycle on controller 1
*/
outb
(
0x0C
,
0x20
);
/* prepare for poll */
irq
=
inb
(
0x20
)
&
7
;
if
(
irq
==
2
)
{
/*
* Interrupt is cascaded so perform interrupt
* acknowledge on controller 2
*/
outb
(
0x0C
,
0xA0
);
/* prepare for poll */
irq
=
(
inb
(
0xA0
)
&
7
)
+
8
;
}
else
if
(
irq
==
7
)
{
/*
* This may be a spurious interrupt
*
* Read the interrupt status register. If the most
* significant bit is not set then there is no valid
* interrupt
*/
outb
(
0x0b
,
0x20
);
if
(
~
inb
(
0x20
)
&
0x80
)
{
spin_unlock
/*_irqrestore*/
(
&
i8259_lock
/*, flags*/
);
return
-
1
;
}
}
spin_unlock
/*_irqrestore*/
(
&
i8259_lock
/*, flags*/
);
spin_unlock
(
&
i8259_lock
);
return
irq
;
}
...
...
@@ -171,11 +157,13 @@ static struct resource pic_edgectrl_iores = {
"8259 edge control"
,
0x4d0
,
0x4d1
,
IORESOURCE_BUSY
};
/* i8259_init()
/*
* i8259_init()
* intack_addr - PCI interrupt acknowledge (real) address which will return
* the active irq from the 8259
*/
void
__init
i8259_init
(
long
intack_addr
)
void
__init
i8259_init
(
long
intack_addr
)
{
unsigned
long
flags
;
...
...
@@ -209,9 +197,6 @@ void __init i8259_init(long intack_addr)
request_resource
(
&
ioport_resource
,
&
pic2_iores
);
request_resource
(
&
ioport_resource
,
&
pic_edgectrl_iores
);
/* XXX remove me after board maintainers fix their i8259_init calls */
if
(
intack_addr
==
0
)
panic
(
"You must supply a PCI interrupt acknowledge address to i8259_init()
\n
"
);
pci_intack
=
ioremap
(
intack_addr
,
1
);
if
(
intack_addr
!=
0
)
pci_intack
=
ioremap
(
intack_addr
,
1
);
}
arch/ppc/kernel/open_pic.c
View file @
3d79bc5c
...
...
@@ -799,26 +799,20 @@ static void openpic_ipi_action(int cpl, void *dev_id, struct pt_regs *regs)
#endif
/* CONFIG_SMP */
/* This one may be merged with PReP and CHRP */
int
openpic_get_irq
(
struct
pt_regs
*
regs
)
{
/*
* Clean up needed. -VAL
*/
int
irq
=
openpic_irq
();
/* Management of the cascade should be moved out of here */
/* Yep - because openpic !=> i8259, for one thing. -VAL */
if
(
open_pic_irq_offset
&&
irq
==
open_pic_irq_offset
)
{
#ifndef CONFIG_GEMINI
irq
=
i8259_irq
(
regs
);
/* get IRQ from cascade */
#endif
/*
* This needs to be cleaned up. We don't necessarily have
* an i8259 cascaded or even a cascade.
*/
if
(
open_pic_irq_offset
&&
irq
==
open_pic_irq_offset
)
{
/* Get the IRQ from the cascade. */
irq
=
i8259_irq
(
regs
);
openpic_eoi
();
}
if
(
irq
==
OPENPIC_VEC_SPURIOUS
+
open_pic_irq_offset
)
}
else
if
(
irq
==
OPENPIC_VEC_SPURIOUS
+
open_pic_irq_offset
)
irq
=
-
1
;
return
irq
;
}
...
...
arch/ppc/platforms/lopec_pci.c
View file @
3d79bc5c
...
...
@@ -6,7 +6,7 @@
* Author: Dan Cox
* danc@mvista.com (or, alternately, source@mvista.com)
*
* Copyright 2001 MontaVista Software Inc.
* Copyright 2001
-2002
MontaVista Software Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
...
...
@@ -14,18 +14,11 @@
* option) any later version.
*/
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <asm/machdep.h>
#include <asm/byteorder.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/uaccess.h>
#include <asm/pci-bridge.h>
#include <asm/open_pic.h>
#include <asm/mpc10x.h>
static
inline
int
__init
...
...
arch/ppc/platforms/lopec_setup.c
View file @
3d79bc5c
...
...
@@ -15,34 +15,23 @@
*/
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/pci.h>
#include <linux/time.h>
#include <linux/types.h>
#include <linux/major.h>
#include <linux/kdev_t.h>
#include <linux/delay.h>
#include <linux/pci_ids.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/ide.h>
#include <linux/irq.h>
#include <linux/seq_file.h>
#include <linux/blk.h>
#include <linux/console.h>
#include <asm/system.h>
#include <asm/pgtable.h>
#include <asm/machdep.h>
#include <asm/page.h>
#include <asm/dma.h>
#include <asm/io.h>
#include <asm/time.h>
#include <asm/delay.h>
#include <asm/irq.h>
#include <asm/open_pic.h>
#include <asm/i8259.h>
#include <asm/pci-bridge.h>
#include <asm/todc.h>
#include <asm/bootinfo.h>
#include <asm/mpc10x.h>
#include <asm/hw_irq.h>
extern
void
lopec_find_bridges
(
void
);
...
...
@@ -230,7 +219,7 @@ lopec_init_IRQ(void)
i8259_init
(
0xfef00000
);
}
void
__init
static
int
__init
lopec_request_io
(
void
)
{
outb
(
0x00
,
0x4d0
);
...
...
@@ -242,9 +231,11 @@ lopec_request_io(void)
request_region
(
0x80
,
0x10
,
"dma page reg"
);
request_region
(
0xa0
,
0x20
,
"pic2"
);
request_region
(
0xc0
,
0x20
,
"dma2"
);
return
0
;
}
arch
_initcall
(
lopec_request_io
);
device
_initcall
(
lopec_request_io
);
static
void
__init
lopec_map_io
(
void
)
...
...
arch/ppc/platforms/mcpn765_setup.c
View file @
3d79bc5c
...
...
@@ -6,7 +6,7 @@
* Author: Mark A. Greer
* mgreer@mvista.com
*
* Copyright 2001 MontaVista Software Inc.
* Copyright 2001
-2002
MontaVista Software Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
...
...
@@ -31,7 +31,6 @@
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/ide.h>
#include <linux/irq.h>
#include <linux/seq_file.h>
#include <asm/system.h>
...
...
@@ -125,7 +124,7 @@ mcpn765_setup_arch(void)
OpenPIC_NumInitSenses
=
sizeof
(
mcpn765_openpic_initsenses
);
printk
(
"Motorola MCG MCPN765 cPCI Non-System Board
\n
"
);
printk
(
"MCPN765 port (
C) 2001 MontaVista Software, Inc. (source@mvista.com
)
\n
"
);
printk
(
"MCPN765 port (
MontaVista Software, Inc. (source@mvista.com)
)
\n
"
);
if
(
ppc_md
.
progress
)
ppc_md
.
progress
(
"mcpn765_setup_arch: exit"
,
0
);
...
...
arch/ppc/platforms/pplus_setup.c
View file @
3d79bc5c
...
...
@@ -72,7 +72,6 @@
#include <asm/todc.h>
#include <asm/bootinfo.h>
#undef CONFIG_SERIAL_TEXT_DEBUG
#undef DUMP_DBATS
TODC_ALLOC
();
...
...
@@ -500,9 +499,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
#ifdef CONFIG_SERIAL_TEXT_DEBUG
ppc_md
.
progress
=
pplus_progress
;
#else
/* !CONFIG_SERIAL_TEXT_DEBUG */
ppc_md
.
progress
=
NULL
;
#endif
/* CONFIG_SERIAL_TEXT_DEBUG */
#endif
#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
ppc_ide_md
.
default_irq
=
pplus_ide_default_irq
;
...
...
arch/ppc/platforms/prep_setup.c
View file @
3d79bc5c
...
...
@@ -117,9 +117,6 @@ prep_show_cpuinfo(struct seq_file *m)
{
extern
char
*
Motherboard_map_name
;
int
cachew
;
#ifdef CONFIG_PREP_RESIDUAL
int
i
;
#endif
seq_printf
(
m
,
"machine
\t\t
: PReP %s
\n
"
,
Motherboard_map_name
);
...
...
@@ -180,6 +177,8 @@ prep_show_cpuinfo(struct seq_file *m)
no_l2:
#ifdef CONFIG_PREP_RESIDUAL
if
(
res
->
ResidualLength
!=
0
)
{
int
i
;
/* print info about SIMMs */
seq_printf
(
m
,
"simms
\t\t
: "
);
for
(
i
=
0
;
(
res
->
ActualNumMemories
)
&&
(
i
<
MAX_MEMS
);
i
++
)
{
...
...
@@ -812,8 +811,8 @@ prep_map_io(void)
io_block_mapping
(
0xf0000000
,
PREP_ISA_MEM_BASE
,
0x08000000
,
_PAGE_IO
);
}
static
void
__init
prep_
init2
(
void
)
static
int
__init
prep_
request_io
(
void
)
{
#ifdef CONFIG_NVRAM
request_region
(
PREP_NVRAM_AS0
,
0x8
,
"nvram"
);
...
...
@@ -822,8 +821,12 @@ prep_init2(void)
request_region
(
0x40
,
0x20
,
"timer"
);
request_region
(
0x80
,
0x10
,
"dma page reg"
);
request_region
(
0xc0
,
0x20
,
"dma2"
);
return
0
;
}
device_initcall
(
prep_request_io
);
void
__init
prep_init
(
unsigned
long
r3
,
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
)
...
...
@@ -863,7 +866,6 @@ prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
ppc_md
.
init_IRQ
=
prep_init_IRQ
;
/* this gets changed later on if we have an OpenPIC -- Cort */
ppc_md
.
get_irq
=
i8259_irq
;
ppc_md
.
init
=
prep_init2
;
ppc_md
.
restart
=
prep_restart
;
ppc_md
.
power_off
=
prep_power_off
;
...
...
arch/ppc/platforms/residual.c
View file @
3d79bc5c
...
...
@@ -876,3 +876,38 @@ PnP_TAG_PACKET __init *PnP_find_large_vendor_packet(unsigned char *p,
};
return
0
;
/* not found */
}
#ifdef CONFIG_PROC_PREPRESIDUAL
static
int
proc_prep_residual_read
(
char
*
buf
,
char
**
start
,
off_t
off
,
int
count
,
int
*
eof
,
void
*
data
)
{
int
n
;
n
=
res
->
ResidualLength
-
off
;
if
(
n
<
0
)
{
*
eof
=
1
;
n
=
0
;
}
else
{
if
(
n
>
count
)
n
=
count
;
else
*
eof
=
1
;
memcpy
(
buf
,
(
char
*
)
res
+
off
,
n
);
*
start
=
buf
;
}
return
n
;
}
void
__init
proc_prep_residual_init
(
void
)
{
if
(
res
->
ResidualLength
)
create_proc_read_entry
(
"residual"
,
S_IRUGO
,
NULL
,
proc_prep_residual_read
,
NULL
);
}
__initcall
(
proc_prep_residual_init
);
#endif
arch/ppc/platforms/sandpoint_setup.c
View file @
3d79bc5c
...
...
@@ -6,7 +6,7 @@
* Author: Mark A. Greer
* mgreer@mvista.com
*
* Copyright 2000
, 2001
MontaVista Software Inc.
* Copyright 2000
-2002
MontaVista Software Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
...
...
@@ -71,7 +71,6 @@
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/ide.h>
#include <linux/irq.h>
#include <linux/seq_file.h>
#include <asm/system.h>
...
...
@@ -180,7 +179,7 @@ sandpoint_setup_arch(void)
#endif
printk
(
"Motorola SPS Sandpoint Test Platform
\n
"
);
printk
(
"Sandpoint port (
C) 2000, 2001 MontaVista Software, Inc. (source@mvista.com
)
\n
"
);
printk
(
"Sandpoint port (
MontaVista Software, Inc. (source@mvista.com)
)
\n
"
);
/* The Sandpoint rom doesn't enable any caches. Do that now.
* The 7450 portion will also set up the L3s once I get enough
...
...
include/asm-ppc/i8259.h
View file @
3d79bc5c
...
...
@@ -9,8 +9,7 @@
extern
struct
hw_interrupt_type
i8259_pic
;
void
i8259_init
(
long
);
int
i8259_irq
(
struct
pt_regs
*
regs
);
int
i8259_poll
(
void
);
extern
void
i8259_init
(
long
intack_addr
);
extern
int
i8259_irq
(
struct
pt_regs
*
regs
);
#endif
/* _PPC_KERNEL_i8259_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment