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
41e73bd7
Commit
41e73bd7
authored
Oct 15, 2003
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/home/anton/ppc64/linux-2.5
into samba.org:/home/anton/ppc64/for-linus-ppc64
parents
5b84ad19
6d89db78
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
74 additions
and
192 deletions
+74
-192
arch/ppc64/kernel/head.S
arch/ppc64/kernel/head.S
+0
-2
arch/ppc64/kernel/idle.c
arch/ppc64/kernel/idle.c
+0
-3
arch/ppc64/kernel/irq.c
arch/ppc64/kernel/irq.c
+5
-6
arch/ppc64/kernel/misc.S
arch/ppc64/kernel/misc.S
+2
-2
arch/ppc64/kernel/pci_dma.c
arch/ppc64/kernel/pci_dma.c
+4
-4
arch/ppc64/kernel/ppc_ksyms.c
arch/ppc64/kernel/ppc_ksyms.c
+1
-0
arch/ppc64/mm/hugetlbpage.c
arch/ppc64/mm/hugetlbpage.c
+7
-0
arch/ppc64/mm/init.c
arch/ppc64/mm/init.c
+19
-0
arch/ppc64/mm/numa.c
arch/ppc64/mm/numa.c
+15
-5
include/asm-ppc64/cputable.h
include/asm-ppc64/cputable.h
+1
-1
include/asm-ppc64/hardirq.h
include/asm-ppc64/hardirq.h
+0
-2
include/asm-ppc64/io.h
include/asm-ppc64/io.h
+7
-1
include/asm-ppc64/memory.h
include/asm-ppc64/memory.h
+1
-1
include/asm-ppc64/pgalloc.h
include/asm-ppc64/pgalloc.h
+9
-19
include/asm-ppc64/pgtable.h
include/asm-ppc64/pgtable.h
+1
-4
include/asm-ppc64/processor.h
include/asm-ppc64/processor.h
+0
-140
include/asm-ppc64/siginfo.h
include/asm-ppc64/siginfo.h
+2
-2
No files found.
arch/ppc64/kernel/head.S
View file @
41e73bd7
...
...
@@ -937,7 +937,6 @@ _GLOBAL(do_stab_bolted)
mfspr
r20
,
SPRG2
mfspr
r21
,
SPRG1
rfid
_TRACEBACK
(
do_stab_bolted
)
/*
*
r20
points
to
the
PACA
,
r21
to
the
exception
frame
,
...
...
@@ -1052,7 +1051,6 @@ SLB_NUM_ENTRIES = 64
mfspr
r20
,
SPRG2
mfspr
r21
,
SPRG1
rfid
_TRACEBACK
(
do_slb_bolted
)
_GLOBAL
(
do_stab_SI
)
mflr
r21
/*
Save
LR
in
r21
*/
...
...
arch/ppc64/kernel/idle.c
View file @
41e73bd7
...
...
@@ -84,8 +84,6 @@ int cpu_idle(void)
lpaca
=
get_paca
();
while
(
1
)
{
irq_stat
[
smp_processor_id
()].
idle_timestamp
=
jiffies
;
if
(
lpaca
->
xLpPaca
.
xSharedProc
)
{
if
(
ItLpQueue_isLpIntPending
(
lpaca
->
lpQueuePtr
))
process_iSeries_events
();
...
...
@@ -125,7 +123,6 @@ int cpu_idle(void)
long
oldval
;
while
(
1
)
{
irq_stat
[
smp_processor_id
()].
idle_timestamp
=
jiffies
;
oldval
=
test_and_clear_thread_flag
(
TIF_NEED_RESCHED
);
if
(
!
oldval
)
{
...
...
arch/ppc64/kernel/irq.c
View file @
41e73bd7
...
...
@@ -55,9 +55,6 @@
#include <asm/machdep.h>
#include <asm/paca.h>
void
enable_irq
(
unsigned
int
irq_nr
);
void
disable_irq
(
unsigned
int
irq_nr
);
#ifdef CONFIG_SMP
extern
void
iSeries_smp_message_recv
(
struct
pt_regs
*
);
#endif
...
...
@@ -123,7 +120,7 @@ setup_irq(unsigned int irq, struct irqaction * new)
if
(
!
shared
)
{
desc
->
depth
=
0
;
desc
->
status
&=
~
(
IRQ_DISABLED
|
IRQ_AUTODETECT
|
IRQ_WAITING
);
desc
->
status
&=
~
(
IRQ_DISABLED
|
IRQ_AUTODETECT
|
IRQ_WAITING
|
IRQ_INPROGRESS
);
unmask_irq
(
irq
);
}
spin_unlock_irqrestore
(
&
desc
->
lock
,
flags
);
...
...
@@ -273,8 +270,10 @@ EXPORT_SYMBOL(free_irq);
void
disable_irq
(
unsigned
int
irq
)
{
irq_desc_t
*
desc
=
irq_desc
+
irq
;
disable_irq_nosync
(
irq
);
synchronize_irq
(
irq
);
if
(
desc
->
action
)
synchronize_irq
(
irq
);
}
/**
...
...
@@ -295,7 +294,7 @@ void enable_irq(unsigned int irq)
spin_lock_irqsave
(
&
desc
->
lock
,
flags
);
switch
(
desc
->
depth
)
{
case
1
:
{
unsigned
int
status
=
desc
->
status
&
~
IRQ_DISABLED
;
unsigned
int
status
=
desc
->
status
&
~
(
IRQ_DISABLED
|
IRQ_INPROGRESS
)
;
desc
->
status
=
status
;
if
((
status
&
(
IRQ_PENDING
|
IRQ_REPLAY
))
==
IRQ_PENDING
)
{
desc
->
status
=
status
|
IRQ_REPLAY
;
...
...
arch/ppc64/kernel/misc.S
View file @
41e73bd7
...
...
@@ -359,7 +359,7 @@ _GLOBAL(_outsl)
bdnz
00
b
blr
_GLOBAL
(
ide_insw
)
/*
_GLOBAL
(
ide_insw
)
now
in
drivers
/
ide
/
ide
-
iops
.
c
*/
_GLOBAL
(
_insw_ns
)
cmpwi
0
,
r5
,
0
mtctr
r5
...
...
@@ -371,7 +371,7 @@ _GLOBAL(_insw_ns)
bdnz
00
b
blr
_GLOBAL
(
ide_outsw
)
/*
_GLOBAL
(
ide_outsw
)
now
in
drivers
/
ide
/
ide
-
iops
.
c
*/
_GLOBAL
(
_outsw_ns
)
cmpwi
0
,
r5
,
0
mtctr
r5
...
...
arch/ppc64/kernel/pci_dma.c
View file @
41e73bd7
...
...
@@ -98,7 +98,7 @@ void free_tce_range_nolock(struct TceTable *,
unsigned
order
);
/* allocates a range of tces and sets them to the pages */
static
inline
dma_addr_t
get_tces
(
struct
TceTable
*
,
inline
dma_addr_t
get_tces
(
struct
TceTable
*
,
unsigned
order
,
void
*
page
,
unsigned
numPages
,
...
...
@@ -210,7 +210,7 @@ static void tce_build_pSeries(struct TceTable *tbl, long tcenum,
* Build a TceTable structure. This contains a multi-level bit map which
* is used to manage allocation of the tce space.
*/
st
atic
st
ruct
TceTable
*
build_tce_table
(
struct
TceTable
*
tbl
)
struct
TceTable
*
build_tce_table
(
struct
TceTable
*
tbl
)
{
unsigned
long
bits
,
bytes
,
totalBytes
;
unsigned
long
numBits
[
NUM_TCE_LEVELS
],
numBytes
[
NUM_TCE_LEVELS
];
...
...
@@ -518,7 +518,7 @@ static long test_tce_range( struct TceTable *tbl, long tcenum, unsigned order )
return
retval
;
}
static
inline
dma_addr_t
get_tces
(
struct
TceTable
*
tbl
,
unsigned
order
,
void
*
page
,
unsigned
numPages
,
int
direction
)
inline
dma_addr_t
get_tces
(
struct
TceTable
*
tbl
,
unsigned
order
,
void
*
page
,
unsigned
numPages
,
int
direction
)
{
long
tcenum
;
unsigned
long
uaddr
;
...
...
@@ -581,7 +581,7 @@ static void tce_free_one_pSeries( struct TceTable *tbl, long tcenum )
}
#endif
static
void
tce_free
(
struct
TceTable
*
tbl
,
dma_addr_t
dma_addr
,
void
tce_free
(
struct
TceTable
*
tbl
,
dma_addr_t
dma_addr
,
unsigned
order
,
unsigned
num_pages
)
{
long
tcenum
,
total_tces
,
free_tce
;
...
...
arch/ppc64/kernel/ppc_ksyms.c
View file @
41e73bd7
...
...
@@ -227,3 +227,4 @@ EXPORT_SYMBOL(debugger_fault_handler);
#endif
EXPORT_SYMBOL
(
tb_ticks_per_usec
);
EXPORT_SYMBOL
(
paca
);
arch/ppc64/mm/hugetlbpage.c
View file @
41e73bd7
...
...
@@ -507,14 +507,21 @@ int hugetlb_prefault(struct address_space *mapping, struct vm_area_struct *vma)
+
(
vma
->
vm_pgoff
>>
(
HPAGE_SHIFT
-
PAGE_SHIFT
));
page
=
find_get_page
(
mapping
,
idx
);
if
(
!
page
)
{
/* charge the fs quota first */
if
(
hugetlb_get_quota
(
mapping
))
{
ret
=
-
ENOMEM
;
goto
out
;
}
page
=
alloc_hugetlb_page
();
if
(
!
page
)
{
hugetlb_put_quota
(
mapping
);
ret
=
-
ENOMEM
;
goto
out
;
}
ret
=
add_to_page_cache
(
page
,
mapping
,
idx
,
GFP_ATOMIC
);
unlock_page
(
page
);
if
(
ret
)
{
hugetlb_put_quota
(
mapping
);
free_huge_page
(
page
);
goto
out
;
}
...
...
arch/ppc64/mm/init.c
View file @
41e73bd7
...
...
@@ -726,3 +726,22 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long ea,
__hash_page
(
ea
,
pte_val
(
pte
)
&
(
_PAGE_USER
|
_PAGE_RW
),
vsid
,
ptep
,
0x300
,
local
);
}
kmem_cache_t
*
zero_cache
;
static
void
zero_ctor
(
void
*
pte
,
kmem_cache_t
*
cache
,
unsigned
long
flags
)
{
memset
(
pte
,
0
,
PAGE_SIZE
);
}
void
pgtable_cache_init
(
void
)
{
zero_cache
=
kmem_cache_create
(
"zero"
,
PAGE_SIZE
,
0
,
SLAB_HWCACHE_ALIGN
|
SLAB_MUST_HWCACHE_ALIGN
,
zero_ctor
,
NULL
);
if
(
!
zero_cache
)
panic
(
"pgtable_cache_init(): could not create zero_cache!
\n
"
);
}
arch/ppc64/mm/numa.c
View file @
41e73bd7
...
...
@@ -13,6 +13,7 @@
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/mmzone.h>
#include <linux/module.h>
#include <asm/lmb.h>
#if 1
...
...
@@ -306,6 +307,7 @@ void __init paging_init(void)
{
unsigned
long
zones_size
[
MAX_NR_ZONES
];
int
i
,
nid
;
struct
page
*
node_mem_map
;
for
(
i
=
1
;
i
<
MAX_NR_ZONES
;
i
++
)
zones_size
[
i
]
=
0
;
...
...
@@ -314,16 +316,24 @@ void __init paging_init(void)
unsigned
long
start_pfn
;
unsigned
long
end_pfn
;
if
(
node_data
[
nid
].
node_spanned_pages
==
0
)
continue
;
start_pfn
=
plat_node_bdata
[
nid
].
node_boot_start
>>
PAGE_SHIFT
;
end_pfn
=
plat_node_bdata
[
nid
].
node_low_pfn
;
zones_size
[
ZONE_DMA
]
=
end_pfn
-
start_pfn
;
dbg
(
"free_area_init node %d %lx %lx
\n
"
,
nid
,
zones_size
[
ZONE_DMA
],
start_pfn
);
free_area_init_node
(
nid
,
NODE_DATA
(
nid
),
NULL
,
zones_size
,
start_pfn
,
NULL
);
/*
* Give this empty node a dummy struct page to avoid
* us from trying to allocate a node local mem_map
* in free_area_init_node (which will fail).
*/
if
(
!
node_data
[
nid
].
node_spanned_pages
)
node_mem_map
=
alloc_bootmem
(
sizeof
(
struct
page
));
else
node_mem_map
=
NULL
;
free_area_init_node
(
nid
,
NODE_DATA
(
nid
),
node_mem_map
,
zones_size
,
start_pfn
,
NULL
);
}
}
include/asm-ppc64/cputable.h
View file @
41e73bd7
...
...
@@ -30,7 +30,7 @@
#ifndef __ASSEMBLY__
/* This structure can grow, it's real size is used by head.S code
* via the mkdefs mecanism.
* via the mkdefs mec
h
anism.
*/
struct
cpu_spec
;
...
...
include/asm-ppc64/hardirq.h
View file @
41e73bd7
...
...
@@ -15,9 +15,7 @@
typedef
struct
{
unsigned
int
__softirq_pending
;
unsigned
int
__syscall_count
;
struct
task_struct
*
__ksoftirqd_task
;
unsigned
long
idle_timestamp
;
}
____cacheline_aligned
irq_cpustat_t
;
#include <linux/irq_cpustat.h>
/* Standard mappings for irq_cpustat_t above */
...
...
include/asm-ppc64/io.h
View file @
41e73bd7
...
...
@@ -17,6 +17,12 @@
#include <asm/memory.h>
#include <asm/delay.h>
#define __ide_mm_insw(p, a, c) _insw_ns((volatile u16 *)(p), (a), (c))
#define __ide_mm_insl(p, a, c) _insl_ns((volatile u32 *)(p), (a), (c))
#define __ide_mm_outsw(p, a, c) _outsw_ns((volatile u16 *)(p), (a), (c))
#define __ide_mm_outsl(p, a, c) _outsl_ns((volatile u32 *)(p), (a), (c))
#define SIO_CONFIG_RA 0x398
#define SIO_CONFIG_RD 0x399
...
...
@@ -93,7 +99,7 @@ extern void _outsl_ns(volatile u32 *port, const void *buf, int nl);
#define inw_p(port) inw(port)
#define outw_p(val, port) (udelay(1), outw((val), (port)))
#define inl_p(port) inl(port)
#define outl_p(val, port) (udelay(1), outl((val, (port)))
#define outl_p(val, port) (udelay(1), outl((val
)
, (port)))
/*
* The *_ns versions below don't do byte-swapping.
...
...
include/asm-ppc64/memory.h
View file @
41e73bd7
...
...
@@ -58,7 +58,7 @@ static inline void isync(void)
#define HMT_LOW
#define HMT_MEDIUM
#define HMT_
LOW
#define HMT_
HIGH
#endif
#endif
include/asm-ppc64/pgalloc.h
View file @
41e73bd7
...
...
@@ -2,8 +2,11 @@
#define _PPC64_PGALLOC_H
#include <linux/mm.h>
#include <linux/slab.h>
#include <asm/processor.h>
extern
kmem_cache_t
*
zero_cache
;
/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
...
...
@@ -14,16 +17,13 @@
static
inline
pgd_t
*
pgd_alloc
(
struct
mm_struct
*
mm
)
{
pgd_t
*
pgd
=
(
pgd_t
*
)
__get_free_page
(
GFP_KERNEL
);
if
(
pgd
!=
NULL
)
clear_page
(
pgd
);
return
pgd
;
return
kmem_cache_alloc
(
zero_cache
,
GFP_KERNEL
);
}
static
inline
void
pgd_free
(
pgd_t
*
pgd
)
{
free_page
((
unsigned
long
)
pgd
);
kmem_cache_free
(
zero_cache
,
pgd
);
}
#define pgd_populate(MM, PGD, PMD) pgd_set(PGD, PMD)
...
...
@@ -31,18 +31,13 @@ pgd_free(pgd_t *pgd)
static
inline
pmd_t
*
pmd_alloc_one
(
struct
mm_struct
*
mm
,
unsigned
long
addr
)
{
pmd_t
*
pmd
;
pmd
=
(
pmd_t
*
)
__get_free_page
(
GFP_KERNEL
|
__GFP_REPEAT
);
if
(
pmd
)
clear_page
(
pmd
);
return
pmd
;
return
kmem_cache_alloc
(
zero_cache
,
GFP_KERNEL
|
__GFP_REPEAT
);
}
static
inline
void
pmd_free
(
pmd_t
*
pmd
)
{
free_page
((
unsigned
long
)
pmd
);
kmem_cache_free
(
zero_cache
,
pmd
);
}
#define __pmd_free_tlb(tlb, pmd) pmd_free(pmd)
...
...
@@ -54,12 +49,7 @@ pmd_free(pmd_t *pmd)
static
inline
pte_t
*
pte_alloc_one_kernel
(
struct
mm_struct
*
mm
,
unsigned
long
addr
)
{
pte_t
*
pte
;
pte
=
(
pte_t
*
)
__get_free_page
(
GFP_KERNEL
|
__GFP_REPEAT
);
if
(
pte
)
clear_page
(
pte
);
return
pte
;
return
kmem_cache_alloc
(
zero_cache
,
GFP_KERNEL
|
__GFP_REPEAT
);
}
static
inline
struct
page
*
...
...
@@ -76,7 +66,7 @@ pte_alloc_one(struct mm_struct *mm, unsigned long address)
static
inline
void
pte_free_kernel
(
pte_t
*
pte
)
{
free_page
((
unsigned
long
)
pte
);
kmem_cache_free
(
zero_cache
,
pte
);
}
#define pte_free(pte_page) pte_free_kernel(page_address(pte_page))
...
...
include/asm-ppc64/pgtable.h
View file @
41e73bd7
...
...
@@ -394,10 +394,7 @@ extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t);
#define io_remap_page_range remap_page_range
/*
* No page table caches to initialise
*/
#define pgtable_cache_init() do { } while (0)
void
pgtable_cache_init
(
void
);
extern
void
hpte_init_pSeries
(
void
);
extern
void
hpte_init_iSeries
(
void
);
...
...
include/asm-ppc64/processor.h
View file @
41e73bd7
...
...
@@ -128,14 +128,6 @@
#define SPRN_DAC1 0x3F6
/* Data Address Compare 1 */
#define SPRN_DAC2 0x3F7
/* Data Address Compare 2 */
#define SPRN_DAR 0x013
/* Data Address Register */
#define SPRN_DBAT0L 0x219
/* Data BAT 0 Lower Register */
#define SPRN_DBAT0U 0x218
/* Data BAT 0 Upper Register */
#define SPRN_DBAT1L 0x21B
/* Data BAT 1 Lower Register */
#define SPRN_DBAT1U 0x21A
/* Data BAT 1 Upper Register */
#define SPRN_DBAT2L 0x21D
/* Data BAT 2 Lower Register */
#define SPRN_DBAT2U 0x21C
/* Data BAT 2 Upper Register */
#define SPRN_DBAT3L 0x21F
/* Data BAT 3 Lower Register */
#define SPRN_DBAT3U 0x21E
/* Data BAT 3 Upper Register */
#define SPRN_DBCR 0x3F2
/* Debug Control Regsiter */
#define DBCR_EDM 0x80000000
#define DBCR_IDM 0x40000000
...
...
@@ -229,14 +221,6 @@
#define SPRN_TST 0x3FC
/* Thread switch timeout */
#define SPRN_IAC1 0x3F4
/* Instruction Address Compare 1 */
#define SPRN_IAC2 0x3F5
/* Instruction Address Compare 2 */
#define SPRN_IBAT0L 0x211
/* Instruction BAT 0 Lower Register */
#define SPRN_IBAT0U 0x210
/* Instruction BAT 0 Upper Register */
#define SPRN_IBAT1L 0x213
/* Instruction BAT 1 Lower Register */
#define SPRN_IBAT1U 0x212
/* Instruction BAT 1 Upper Register */
#define SPRN_IBAT2L 0x215
/* Instruction BAT 2 Lower Register */
#define SPRN_IBAT2U 0x214
/* Instruction BAT 2 Upper Register */
#define SPRN_IBAT3L 0x217
/* Instruction BAT 3 Lower Register */
#define SPRN_IBAT3U 0x216
/* Instruction BAT 3 Upper Register */
#define SPRN_ICCR 0x3FB
/* Instruction Cache Cacheability Register */
#define ICCR_NOCACHE 0
/* Noncacheable */
#define ICCR_CACHE 1
/* Cacheable */
...
...
@@ -333,14 +317,6 @@
#define CTR SPRN_CTR
/* Counter Register */
#define DAR SPRN_DAR
/* Data Address Register */
#define DABR SPRN_DABR
/* Data Address Breakpoint Register */
#define DBAT0L SPRN_DBAT0L
/* Data BAT 0 Lower Register */
#define DBAT0U SPRN_DBAT0U
/* Data BAT 0 Upper Register */
#define DBAT1L SPRN_DBAT1L
/* Data BAT 1 Lower Register */
#define DBAT1U SPRN_DBAT1U
/* Data BAT 1 Upper Register */
#define DBAT2L SPRN_DBAT2L
/* Data BAT 2 Lower Register */
#define DBAT2U SPRN_DBAT2U
/* Data BAT 2 Upper Register */
#define DBAT3L SPRN_DBAT3L
/* Data BAT 3 Lower Register */
#define DBAT3U SPRN_DBAT3U
/* Data BAT 3 Upper Register */
#define DCMP SPRN_DCMP
/* Data TLB Compare Register */
#define DEC SPRN_DEC
/* Decrement Register */
#define DMISS SPRN_DMISS
/* Data TLB Miss Register */
...
...
@@ -354,14 +330,6 @@
#define TSC SPRN_TSC
/* Thread switch control */
#define TST SPRN_TST
/* Thread switch timeout */
#define IABR SPRN_IABR
/* Instruction Address Breakpoint Register */
#define IBAT0L SPRN_IBAT0L
/* Instruction BAT 0 Lower Register */
#define IBAT0U SPRN_IBAT0U
/* Instruction BAT 0 Upper Register */
#define IBAT1L SPRN_IBAT1L
/* Instruction BAT 1 Lower Register */
#define IBAT1U SPRN_IBAT1U
/* Instruction BAT 1 Upper Register */
#define IBAT2L SPRN_IBAT2L
/* Instruction BAT 2 Lower Register */
#define IBAT2U SPRN_IBAT2U
/* Instruction BAT 2 Upper Register */
#define IBAT3L SPRN_IBAT3L
/* Instruction BAT 3 Lower Register */
#define IBAT3U SPRN_IBAT3U
/* Instruction BAT 3 Upper Register */
#define ICMP SPRN_ICMP
/* Instruction TLB Compare Register */
#define IMISS SPRN_IMISS
/* Instruction TLB Miss Register */
#define IMMR SPRN_IMMR
/* PPC 860/821 Internal Memory Map Register */
...
...
@@ -391,84 +359,6 @@
#define THRM3 SPRN_THRM3
/* Thermal Management Register 3 */
#define XER SPRN_XER
/* Device Control Registers */
#define DCRN_BEAR 0x090
/* Bus Error Address Register */
#define DCRN_BESR 0x091
/* Bus Error Syndrome Register */
#define BESR_DSES 0x80000000
/* Data-Side Error Status */
#define BESR_DMES 0x40000000
/* DMA Error Status */
#define BESR_RWS 0x20000000
/* Read/Write Status */
#define BESR_ETMASK 0x1C000000
/* Error Type */
#define ET_PROT 0
#define ET_PARITY 1
#define ET_NCFG 2
#define ET_BUSERR 4
#define ET_BUSTO 6
#define DCRN_DMACC0 0x0C4
/* DMA Chained Count Register 0 */
#define DCRN_DMACC1 0x0CC
/* DMA Chained Count Register 1 */
#define DCRN_DMACC2 0x0D4
/* DMA Chained Count Register 2 */
#define DCRN_DMACC3 0x0DC
/* DMA Chained Count Register 3 */
#define DCRN_DMACR0 0x0C0
/* DMA Channel Control Register 0 */
#define DCRN_DMACR1 0x0C8
/* DMA Channel Control Register 1 */
#define DCRN_DMACR2 0x0D0
/* DMA Channel Control Register 2 */
#define DCRN_DMACR3 0x0D8
/* DMA Channel Control Register 3 */
#define DCRN_DMACT0 0x0C1
/* DMA Count Register 0 */
#define DCRN_DMACT1 0x0C9
/* DMA Count Register 1 */
#define DCRN_DMACT2 0x0D1
/* DMA Count Register 2 */
#define DCRN_DMACT3 0x0D9
/* DMA Count Register 3 */
#define DCRN_DMADA0 0x0C2
/* DMA Destination Address Register 0 */
#define DCRN_DMADA1 0x0CA
/* DMA Destination Address Register 1 */
#define DCRN_DMADA2 0x0D2
/* DMA Destination Address Register 2 */
#define DCRN_DMADA3 0x0DA
/* DMA Destination Address Register 3 */
#define DCRN_DMASA0 0x0C3
/* DMA Source Address Register 0 */
#define DCRN_DMASA1 0x0CB
/* DMA Source Address Register 1 */
#define DCRN_DMASA2 0x0D3
/* DMA Source Address Register 2 */
#define DCRN_DMASA3 0x0DB
/* DMA Source Address Register 3 */
#define DCRN_DMASR 0x0E0
/* DMA Status Register */
#define DCRN_EXIER 0x042
/* External Interrupt Enable Register */
#define EXIER_CIE 0x80000000
/* Critical Interrupt Enable */
#define EXIER_SRIE 0x08000000
/* Serial Port Rx Int. Enable */
#define EXIER_STIE 0x04000000
/* Serial Port Tx Int. Enable */
#define EXIER_JRIE 0x02000000
/* JTAG Serial Port Rx Int. Enable */
#define EXIER_JTIE 0x01000000
/* JTAG Serial Port Tx Int. Enable */
#define EXIER_D0IE 0x00800000
/* DMA Channel 0 Interrupt Enable */
#define EXIER_D1IE 0x00400000
/* DMA Channel 1 Interrupt Enable */
#define EXIER_D2IE 0x00200000
/* DMA Channel 2 Interrupt Enable */
#define EXIER_D3IE 0x00100000
/* DMA Channel 3 Interrupt Enable */
#define EXIER_E0IE 0x00000010
/* External Interrupt 0 Enable */
#define EXIER_E1IE 0x00000008
/* External Interrupt 1 Enable */
#define EXIER_E2IE 0x00000004
/* External Interrupt 2 Enable */
#define EXIER_E3IE 0x00000002
/* External Interrupt 3 Enable */
#define EXIER_E4IE 0x00000001
/* External Interrupt 4 Enable */
#define DCRN_EXISR 0x040
/* External Interrupt Status Register */
#define DCRN_IOCR 0x0A0
/* Input/Output Configuration Register */
#define IOCR_E0TE 0x80000000
#define IOCR_E0LP 0x40000000
#define IOCR_E1TE 0x20000000
#define IOCR_E1LP 0x10000000
#define IOCR_E2TE 0x08000000
#define IOCR_E2LP 0x04000000
#define IOCR_E3TE 0x02000000
#define IOCR_E3LP 0x01000000
#define IOCR_E4TE 0x00800000
#define IOCR_E4LP 0x00400000
#define IOCR_EDT 0x00080000
#define IOCR_SOR 0x00040000
#define IOCR_EDO 0x00008000
#define IOCR_2XC 0x00004000
#define IOCR_ATC 0x00002000
#define IOCR_SPD 0x00001000
#define IOCR_BEM 0x00000800
#define IOCR_PTD 0x00000400
#define IOCR_ARE 0x00000080
#define IOCR_DRC 0x00000020
#define IOCR_RDM(x) (((x) & 0x3) << 3)
#define IOCR_TCS 0x00000004
#define IOCR_SCS 0x00000002
#define IOCR_SPC 0x00000001
/* Processor Version Register (PVR) field extraction */
#define PVR_VER(pvr) (((pvr) >> 16) & 0xFFFF)
/* Version field */
...
...
@@ -499,26 +389,6 @@
#define XGLUE(a,b) a##b
#define GLUE(a,b) XGLUE(a,b)
/*
* Begining of traceback info work for asm functions.
*/
#define TB_ASM 0x000C000000000000
#define TB_GLOBALLINK 0x0000800000000000
#define TB_IS_EPROL 0x0000400000000000
#define TB_HAS_TBOFF 0x0000200000000000
#define TB_INT_PROC 0x0000100000000000
#define TB_HAS_CTL 0x0000080000000000
#define TB_TOCLESS 0x0000040000000000
#define TB_FP_PRESENT 0x0000020000000000
#define TB_LOG_ABORT 0x0000010000000000
#define TB_INT_HNDL 0x0000008000000000
#define TB_NAME_PRESENT 0x0000004000000000
#define TB_SAVES_CR 0x0000000200000000
#define TB_SAVES_LR 0x0000000100000000
#define TB_STORES_BC 0x0000000080000000
#define TB_PARMINFO 0x000000000000FFFF
#define TB_DEFAULT TB_ASM | TB_HAS_TBOFF | TB_NAME_PRESENT
#ifdef __ASSEMBLY__
#define _GLOBAL(name) \
...
...
@@ -547,16 +417,6 @@ name: \
.type GLUE(.,name),@function; \
GLUE(.,name):
#define _TRACEBACK(NAME) \
GLUE(.LT,NAME): ;\
.long 0 ;\
.llong TB_DEFAULT ;\
.long GLUE(.LT,NAME)-GLUE(.,NAME) ;\
.short GLUE(GLUE(.LT,NAME),_procname_end)-GLUE(GLUE(.LT,NAME),_procname_start) ;\
GLUE(GLUE(.LT,NAME),_procname_start): ;\
.ascii __stringify(NAME) ;\
GLUE(GLUE(.LT,NAME),_procname_end):
#endif
/* __ASSEMBLY__ */
...
...
include/asm-ppc64/siginfo.h
View file @
41e73bd7
...
...
@@ -8,8 +8,8 @@
* 2 of the License, or (at your option) any later version.
*/
#define
SI_PAD_SIZE ((SI_MAX_SIZE/sizeof(int)) - 4
)
#define SI_PAD_SIZE32
((SI_MAX_SIZE/sizeof(int)) - 3)
#define
__ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)
)
#define SI_PAD_SIZE32
((SI_MAX_SIZE/sizeof(int)) - 3)
#include <asm-generic/siginfo.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