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
9d20493c
Commit
9d20493c
authored
Dec 17, 2002
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Plain Diff
ppc64: merge conflicts
parents
bda0e956
67536bf2
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
65 additions
and
471 deletions
+65
-471
arch/ppc64/Makefile
arch/ppc64/Makefile
+20
-34
arch/ppc64/boot/main.c
arch/ppc64/boot/main.c
+6
-0
arch/ppc64/kernel/Makefile
arch/ppc64/kernel/Makefile
+16
-26
arch/ppc64/kernel/head.S
arch/ppc64/kernel/head.S
+0
-6
arch/ppc64/kernel/prom.c
arch/ppc64/kernel/prom.c
+8
-270
arch/ppc64/lib/Makefile
arch/ppc64/lib/Makefile
+5
-3
arch/ppc64/mm/Makefile
arch/ppc64/mm/Makefile
+2
-2
arch/ppc64/oprofile/Makefile
arch/ppc64/oprofile/Makefile
+2
-2
arch/ppc64/xmon/Makefile
arch/ppc64/xmon/Makefile
+2
-2
arch/ppc64/xmon/start.c
arch/ppc64/xmon/start.c
+3
-116
include/asm-ppc64/prom.h
include/asm-ppc64/prom.h
+1
-10
No files found.
arch/ppc64/Makefile
View file @
9d20493c
...
...
@@ -13,61 +13,47 @@
# Adjusted for PPC64 by Tom Gall
#
KERNELLOAD
=
0xc000000000000000
KERNELLOAD
=
0xc000000000000000
LDFLAGS
:=
-m
elf64ppc
LDFLAGS_vmlinux
=
-Bstatic
\
-e
$(KERNELLOAD)
-Ttext
$(KERNELLOAD)
LDFLAGS_vmlinux
=
-Bstatic
-e
$(KERNELLOAD)
-Ttext
$(KERNELLOAD)
LDFLAGS_BLOB
:=
--format
binary
--oformat
elf64-powerpc
CFLAGS
:=
$(CFLAGS)
-msoft-float
-pipe
\
CFLAGS
+=
-msoft-float
-pipe
\
-Wno-uninitialized
-mminimal-toc
-mtraceback
=
full
\
-finline-limit-2000
-mcpu
=
power4
CPP
=
$(CC)
-E
$(CFLAGS)
HEAD
:=
arch
/ppc64/kernel/head.o
core-y
+=
arch
/ppc64/kernel/
arch
/ppc64/mm/
arch
/ppc64/lib/
core-$(CONFIG_XMON)
+=
arch
/ppc64/xmon/
# FIXME: is drivers- right ?
drivers-$(CONFIG_OPROFILE)
+=
arch
/ppc64/oprofile/
makeboot
=
$(
call
descend,arch/ppc64/boot,
$(1)
)
ifdef
CONFIG_PPC_PSERIES
BOOT_TARGETS
=
zImage zImage.initrd
endif
libs-y
+=
arch
/ppc64/lib/
core-y
+=
arch
/ppc64/kernel/
core-y
+=
arch
/ppc64/mm/
core-$(CONFIG_XMON)
+=
arch
/ppc64/xmon/
drivers-$(CONFIG_OPROFILE)
+=
arch
/ppc64/oprofile/
ifdef
CONFIG_PPC_ISERIES
BOOT_TARGETS
=
vmlinux.sminitrd vmlinux.initrd vmlinux.sm
endif
makeboot
=
$(Q)$(MAKE)
-f
scripts/Makefile.build
obj
=
arch
/ppc64/boot
$(1)
$(BOOT_TARGETS)
:
vmlinux
@
$(
call
makeboot,arch/ppc64/boot/
$@
)
boottarget-$(CONFIG_PPC_PSERIES)
:=
zImage zImage.initrd
boottarget-$(CONFIG_PPC_ISERIES)
:=
vmlinux.sminitrd vmlinux.initrd vmlinux.sm
$(boottarget-y)
:
vmlinux
$(
call
makeboot,arch/ppc64/boot/
$@
)
%_config
:
arch/ppc64/configs/%_defconfig
rm
-f
.config
arch
/ppc64/defconfig
cp
-f
arch
/ppc64/configs/
$
(
@:config
=
defconfig
)
arch
/ppc64/defconfig
archclean
:
@
$(
call
makeboot,clean
)
$(Q)$(MAKE)
-f
scripts/Makefile.clean
obj
=
arch
/ppc64/boot
archmrproper
:
prepare
:
include/asm-ppc64/offsets.h
prepare
:
include/asm-$(ARCH)/offsets.h
arch/$(ARCH)/kernel/asm-offsets.s
:
include/asm include/linux/version.h
\
arch/ppc64/kernel/asm-offsets.s
:
include/asm include/linux/version.h
\
include/config/MARKER
include/asm-$(ARCH)/offsets.h.tmp
:
arch/$(ARCH)/kernel/asm-offsets.s
@
$
(
generate-asm-offsets.h
)
<
$<
>
$@
include/asm-$(ARCH)/offsets.h
:
include/asm-$(ARCH)/offsets.h.tmp
include/asm-ppc64/offsets.h
:
arch/ppc64/kernel/asm-offsets.s
@
echo
-n
' Generating $@'
@
$
(
generate-asm-offsets.h
)
<
$<
>
$@
.tmp
@
$
(
update-if-changed
)
CLEAN_FILES
+=
include/asm-
$(ARCH)
/offsets.h.tmp
\
include/asm-
$(ARCH)
/offsets.h
CLEAN_FILES
+=
include/asm-
ppc64
/offsets.h.tmp
\
include/asm-
ppc64
/offsets.h
arch/ppc64/boot/main.c
View file @
9d20493c
...
...
@@ -14,6 +14,8 @@
#include <asm/page.h>
#include <asm/bootinfo.h>
#undef DEBUG
void
memmove
(
void
*
dst
,
void
*
im
,
int
len
);
extern
void
*
finddevice
(
const
char
*
);
...
...
@@ -90,7 +92,9 @@ chrpboot(unsigned long a1, unsigned long a2, void *prom)
for
(
claim_addr
=
PROG_START
;
claim_addr
<=
PROG_START
*
8
;
claim_addr
+=
0x100000
)
{
#ifdef DEBUG
printf
(
" trying: 0x%08lx
\n\r
"
,
claim_addr
);
#endif
dst
=
claim
(
claim_addr
,
uncompressed_size
,
0
);
if
(
dst
!=
(
void
*
)
-
1
)
break
;
}
...
...
@@ -118,6 +122,7 @@ chrpboot(unsigned long a1, unsigned long a2, void *prom)
bi_recs
=
make_bi_recs
((
unsigned
long
)
dst
+
vmlinux_end
);
kernel_entry
=
(
kernel_entry_t
)
dst
;
#ifdef DEBUG
printf
(
"kernel:
\n\r
"
" entry addr = 0x%lx
\n\r
"
" a1 = 0x%lx,
\n\r
"
...
...
@@ -126,6 +131,7 @@ chrpboot(unsigned long a1, unsigned long a2, void *prom)
" bi_recs = 0x%lx,
\n\r
"
,
(
unsigned
long
)
kernel_entry
,
a1
,
a2
,
(
unsigned
long
)
prom
,
(
unsigned
long
)
bi_recs
);
#endif
kernel_entry
(
a1
,
a2
,
prom
,
bi_recs
);
...
...
arch/ppc64/kernel/Makefile
View file @
9d20493c
#
# Makefile for the linux kernel.
# Makefile for the linux
ppc64
kernel.
#
EXTRA_CFLAGS
=
-mno-minimal-toc
KHEAD
:=
head.o
EXTRA_TARGETS
:=
$(KHEAD)
export-objs
:=
ppc_ksyms.o
EXTRA_CFLAGS
+=
-mno-minimal-toc
EXTRA_TARGETS
:=
head.o
export-objs
:=
ppc_ksyms.o
obj-y
:=
ppc_ksyms.o setup.o entry.o traps.o irq.o idle.o
\
time.o process.o signal.o syscalls.o misc.o ptrace.o
\
...
...
@@ -17,24 +13,18 @@ obj-y := ppc_ksyms.o setup.o entry.o traps.o irq.o idle.o \
ioctl32.o ptrace32.o signal32.o open_pic.o xics.o
\
pmc.o mf_proc.o proc_pmc.o iSeries_setup.o
\
ItLpQueue.o hvCall.o mf.o HvLpEvent.o ras.o
\
iSeries_proc.o HvCall.o HvLpConfig.o
\
rtc.o init_task.o pSeries_htab.o
obj-$(CONFIG_PCI)
+=
pci.o pci_dn.o pci_dma.o
ifeq
($(CONFIG_PPC_ISERIES),y)
obj-$(CONFIG_PCI)
+=
iSeries_pci.o iSeries_pci_reset.o iSeries_IoMmTable.o iSeries_irq.o iSeries_VpdInfo.o XmPciLpEvent.o
endif
ifeq
($(CONFIG_PPC_PSERIES),y)
obj-$(CONFIG_PCI)
+=
pSeries_pci.o pSeries_lpar.o pSeries_hvCall.o eeh.o
obj-y
+=
rtasd.o nvram.o
endif
obj-$(CONFIG_RTAS_FLASH)
+=
rtas_flash.o
iSeries_proc.o rtc.o init_task.o pSeries_htab.o
\
prom.o lmb.o rtas.o rtas-proc.o chrp_setup.o i8259.o
\
pci.o pci_dn.o pci_dma.o
obj-$(CONFIG_SMP)
+=
smp.o
obj-$(CONFIG_PPC_ISERIES)
+=
iSeries_pci.o iSeries_pci_reset.o
\
iSeries_IoMmTable.o iSeries_irq.o
\
iSeries_VpdInfo.o XmPciLpEvent.o
\
HvCall.o HvLpConfig.o
obj-$(CONFIG_PROFILING)
+=
profile.o
obj-$(CONFIG_PPC_PSERIES)
+=
pSeries_pci.o pSeries_lpar.o pSeries_hvCall.o
\
eeh.o rtasd.o nvram.o
obj-y
+=
prom.o lmb.o rtas.o rtas-proc.o chrp_setup.o i8259.o
obj-$(CONFIG_RTAS_FLASH)
+=
rtas_flash.o
obj-$(CONFIG_SMP)
+=
smp.o
obj-$(CONFIG_PROFILING)
+=
profile.o
arch/ppc64/kernel/head.S
View file @
9d20493c
...
...
@@ -1248,9 +1248,6 @@ _GLOBAL(__start_initialization_pSeries)
mr
r29
,
r5
mr
r28
,
r6
mr
r27
,
r7
mr
r26
,
r8
/*
YABOOT
:
debug_print
()
routine
*/
mr
r25
,
r9
/*
YABOOT
:
debug_delay
()
routine
*/
mr
r24
,
r10
/*
YABOOT
:
debug_prom
()
routine
*/
bl
.
enable_64b_mode
...
...
@@ -1295,9 +1292,6 @@ _GLOBAL(__start_initialization_pSeries)
mr
r5
,
r29
mr
r6
,
r28
mr
r7
,
r27
mr
r8
,
r26
mr
r9
,
r25
mr
r10
,
r24
bl
.
prom_init
...
...
arch/ppc64/kernel/prom.c
View file @
9d20493c
This diff is collapsed.
Click to expand it.
arch/ppc64/lib/Makefile
View file @
9d20493c
...
...
@@ -2,7 +2,9 @@
# Makefile for ppc64-specific library files..
#
export-objs
:=
dec_and_lock.o
L_TARGET
=
lib.a
obj-y
:=
checksum.o dec_and_lock.o string.o strcase.o copypage.o
\
memcpy.o copyuser.o
export-objs
:=
dec_and_lock.o
obj-y
:=
checksum.o dec_and_lock.o string.o strcase.o
obj-y
+=
copypage.o memcpy.o copyuser.o
arch/ppc64/mm/Makefile
View file @
9d20493c
...
...
@@ -2,7 +2,7 @@
# Makefile for the linux ppc-specific parts of the memory manager.
#
EXTRA_CFLAGS
=
-mno-minimal-toc
EXTRA_CFLAGS
+
=
-mno-minimal-toc
obj-y
:=
fault.o init.o extable.o imalloc.o
obj-y
:=
fault.o init.o extable.o imalloc.o
obj-$(CONFIG_DISCONTIGMEM)
+=
numa.o
arch/ppc64/oprofile/Makefile
View file @
9d20493c
obj-$(CONFIG_OPROFILE)
+=
oprofile.o
DRIVER_OBJS
=
$(
addprefix
../../../drivers/oprofile/,
\
DRIVER_OBJS
:
=
$(
addprefix
../../../drivers/oprofile/,
\
oprof.o cpu_buffer.o buffer_sync.o
\
event_buffer.o oprofile_files.o
\
oprofilefs.o oprofile_stats.o
)
oprofile-y
:=
$(DRIVER_OBJS)
init.o timer_int.o
oprofile-y
:=
$(DRIVER_OBJS)
init.o timer_int.o
arch/ppc64/xmon/Makefile
View file @
9d20493c
# Makefile for xmon
EXTRA_CFLAGS
=
-mno-minimal-toc
EXTRA_CFLAGS
+
=
-mno-minimal-toc
obj-y
:=
start.o xmon.o ppc-dis.o ppc-opc.o subr_prf.o setjmp.o
obj-y
:=
start.o xmon.o ppc-dis.o ppc-opc.o subr_prf.o setjmp.o
arch/ppc64/xmon/start.c
View file @
9d20493c
...
...
@@ -14,29 +14,13 @@
#include <asm/page.h>
#include <asm/prom.h>
#include <asm/processor.h>
/* Transition to udbg isn't quite done yet...but very close. */
#define USE_UDBG
#ifdef USE_UDBG
#include <asm/udbg.h>
#endif
#ifndef USE_UDBG
static
volatile
unsigned
char
*
sccc
,
*
sccd
;
#endif
unsigned
long
TXRDY
,
RXRDY
;
extern
void
xmon_printf
(
const
char
*
fmt
,
...);
static
int
xmon_expect
(
const
char
*
str
,
unsigned
int
timeout
);
#ifndef USE_UDBG
static
int
console
=
0
;
#endif
static
int
via_modem
=
0
;
/* static int xmon_use_sccb = 0; --Unused */
#define TB_SPEED 25000000
extern
void
*
comport1
;
static
inline
unsigned
int
readtb
(
void
)
{
unsigned
int
ret
;
...
...
@@ -45,16 +29,10 @@ static inline unsigned int readtb(void)
return
ret
;
}
#ifndef USE_UDBG
void
buf_access
(
void
)
static
void
sysrq_handle_xmon
(
int
key
,
struct
pt_regs
*
pt_regs
,
struct
tty_struct
*
tty
)
{
sccd
[
3
]
&=
~
0x80
;
/* reset DLAB */
}
#endif
static
void
sysrq_handle_xmon
(
int
key
,
struct
pt_regs
*
pt_regs
,
struct
tty_struct
*
tty
)
{
xmon
(
pt_regs
);
xmon
(
pt_regs
);
}
static
struct
sysrq_key_op
sysrq_xmon_op
=
{
...
...
@@ -68,50 +46,12 @@ xmon_map_scc(void)
{
/* This maybe isn't the best place to register sysrq 'x' */
__sysrq_put_key_op
(
'x'
,
&
sysrq_xmon_op
);
#ifndef USE_UDBG
/* should already be mapped by the kernel boot */
sccd
=
(
volatile
unsigned
char
*
)
(((
unsigned
long
)
comport1
));
sccc
=
(
volatile
unsigned
char
*
)
(((
unsigned
long
)
comport1
)
+
5
);
TXRDY
=
0x20
;
RXRDY
=
1
;
#endif
}
static
int
scc_initialized
=
0
;
void
xmon_init_scc
(
void
);
extern
void
pmu_poll
(
void
);
int
xmon_write
(
void
*
handle
,
void
*
ptr
,
int
nb
)
{
#ifdef USE_UDBG
return
udbg_write
(
ptr
,
nb
);
#else
char
*
p
=
ptr
;
int
i
,
c
,
ct
;
if
(
!
scc_initialized
)
xmon_init_scc
();
ct
=
0
;
for
(
i
=
0
;
i
<
nb
;
++
i
)
{
while
((
*
sccc
&
TXRDY
)
==
0
)
{
}
c
=
p
[
i
];
if
(
c
==
'\n'
&&
!
ct
)
{
c
=
'\r'
;
ct
=
1
;
--
i
;
}
else
{
if
(
console
)
printk
(
"%c"
,
c
);
ct
=
0
;
}
buf_access
();
*
sccd
=
c
;
}
return
i
;
#endif
}
int
xmon_wants_key
;
...
...
@@ -119,68 +59,15 @@ int xmon_wants_key;
int
xmon_read
(
void
*
handle
,
void
*
ptr
,
int
nb
)
{
#ifdef USE_UDBG
return
udbg_read
(
ptr
,
nb
);
#else
char
*
p
=
ptr
;
int
i
,
c
;
if
(
!
scc_initialized
)
xmon_init_scc
();
for
(
i
=
0
;
i
<
nb
;
++
i
)
{
do
{
while
((
*
sccc
&
RXRDY
)
==
0
)
;
buf_access
();
c
=
*
sccd
;
}
while
(
c
==
0x11
||
c
==
0x13
);
*
p
++
=
c
;
}
return
i
;
#endif
}
int
xmon_read_poll
(
void
)
{
#ifdef USE_UDBG
return
udbg_getc_poll
();
#else
if
((
*
sccc
&
RXRDY
)
==
0
)
{
return
-
1
;
}
buf_access
();
return
*
sccd
;
#endif
}
void
xmon_init_scc
()
{
#ifndef USE_UDBG
sccd
[
3
]
=
0x83
;
eieio
();
/* LCR = 8N1 + DLAB */
sccd
[
0
]
=
12
;
eieio
();
/* DLL = 9600 baud */
sccd
[
1
]
=
0
;
eieio
();
sccd
[
2
]
=
0
;
eieio
();
/* FCR = 0 */
sccd
[
3
]
=
3
;
eieio
();
/* LCR = 8N1 */
sccd
[
1
]
=
0
;
eieio
();
/* IER = 0 */
#endif
scc_initialized
=
1
;
if
(
via_modem
)
{
for
(;;)
{
xmon_write
(
0
,
"ATE1V1
\r
"
,
7
);
if
(
xmon_expect
(
"OK"
,
5
))
{
xmon_write
(
0
,
"ATA
\r
"
,
4
);
if
(
xmon_expect
(
"CONNECT"
,
40
))
break
;
}
xmon_write
(
0
,
"+++"
,
3
);
xmon_expect
(
"OK"
,
3
);
}
}
}
void
*
xmon_stdin
;
void
*
xmon_stdout
;
void
*
xmon_stderr
;
...
...
include/asm-ppc64/prom.h
View file @
9d20493c
...
...
@@ -155,12 +155,6 @@ struct prom_args {
prom_arg_t
*
rets
;
/* Pointer to return values in args[16]. */
};
typedef
struct
{
u32
printf
;
/* void (*printf)(char *, ...); */
u32
memdump
;
/* void (*memdump)(unsigned char *, unsigned long); */
u32
dummy
;
/* void (*dummy)(void); */
}
yaboot_debug_t
;
struct
prom_t
{
unsigned
long
entry
;
ihandle
chosen
;
...
...
@@ -171,9 +165,6 @@ struct prom_t {
unsigned
long
version
;
unsigned
long
encode_phys_size
;
struct
bi_record
*
bi_recs
;
#ifdef DEBUG_YABOOT
yaboot_debug_t
*
yaboot
;
#endif
};
extern
struct
prom_t
prom
;
...
...
@@ -183,7 +174,7 @@ extern int boot_cpuid;
/* Prototypes */
extern
void
abort
(
void
);
extern
unsigned
long
prom_init
(
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
unsigned
long
,
yaboot_debug_t
*
);
unsigned
long
,
unsigned
long
);
extern
void
prom_print
(
const
char
*
msg
);
extern
void
relocate_nodes
(
void
);
extern
void
finish_device_tree
(
void
);
...
...
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