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
Kirill Smelkov
linux
Commits
a77e3b76
Commit
a77e3b76
authored
May 16, 2002
by
Paul Mackerras
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/home/paulus/kernel/tart
into samba.org:/home/paulus/kernel/for-linus-ppc
parents
5e8a4a7d
f8e77483
Changes
20
Show 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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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
...
...
@@ -192,6 +192,7 @@ start_ldr:
*
registers
.
--
Tom
*/
li
r4
,
0
li
r5
,
0
li
r6
,
0
/
*
...
...
arch/ppc/boot/prep/misc.c
View file @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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,7 +575,7 @@ 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
...
...
@@ -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 @
a77e3b76
...
...
@@ -56,19 +56,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 @
a77e3b76
...
...
@@ -21,65 +21,51 @@ 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
;
if
(
irq
==
7
)
{
/*
* This may be a spurious interrupt.
*
* Read the interrupt status register (ISR). If the most
* significant bit is not set then there is no valid
* interrupt.
*/
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
*/
else
{
/* Perform an interrupt acknowledge cycle on controller 1. */
outb
(
0x0C
,
0x20
);
/* prepare for poll */
irq
=
inb
(
0x20
)
&
7
;
if
(
irq
==
2
)
{
if
(
irq
==
2
)
{
/*
* Interrupt is cascaded so perform interrupt
* acknowledge on controller 2
* acknowledge on controller 2.
*/
outb
(
0x0C
,
0xA0
);
/* prepare for poll */
irq
=
(
inb
(
0xA0
)
&
7
)
+
8
;
}
else
if
(
irq
==
7
)
{
}
}
if
(
irq
==
7
)
{
/*
* This may be a spurious interrupt
* This may be a spurious interrupt
.
*
* Read the interrupt status register. If the most
* Read the interrupt status register
(ISR)
. If the most
* significant bit is not set then there is no valid
* interrupt
* interrupt
.
*/
outb
(
0x0b
,
0x20
);
if
(
~
inb
(
0x20
)
&
0x80
)
{
spin_unlock
/*_irqrestore*/
(
&
i8259_lock
/*, flags*/
);
return
-
1
;
}
if
(
!
pci_intack
)
outb
(
0x0B
,
0x20
);
/* ISR register */
if
(
~
inb
(
0x20
)
&
0x80
)
irq
=
-
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
"
);
if
(
intack_addr
!=
0
)
pci_intack
=
ioremap
(
intack_addr
,
1
);
}
arch/ppc/kernel/open_pic.c
View file @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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 @
a77e3b76
...
...
@@ -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