Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
blackfin
include
asm
cplbinit.h
Go to the documentation of this file.
1
/*
2
* Common CPLB definitions for CPLB init
3
*
4
* Copyright 2006-2008 Analog Devices Inc.
5
*
6
* Licensed under the GPL-2 or later.
7
*/
8
9
#ifndef __ASM_CPLBINIT_H__
10
#define __ASM_CPLBINIT_H__
11
12
#include <
asm/blackfin.h
>
13
#include <
asm/cplb.h
>
14
#include <
linux/threads.h
>
15
16
#ifdef CONFIG_CPLB_SWITCH_TAB_L1
17
# define PDT_ATTR __attribute__((l1_data))
18
#else
19
# define PDT_ATTR
20
#endif
21
22
struct
cplb_entry
{
23
unsigned
long
data
,
addr
;
24
};
25
26
struct
cplb_boundary
{
27
unsigned
long
eaddr
;
/* End of this region. */
28
unsigned
long
data
;
/* CPLB data value. */
29
};
30
31
extern
struct
cplb_boundary
dcplb_bounds
[];
32
extern
struct
cplb_boundary
icplb_bounds
[];
33
extern
int
dcplb_nr_bounds
,
icplb_nr_bounds
;
34
35
extern
struct
cplb_entry
dcplb_tbl
[
NR_CPUS
][
MAX_CPLBS
];
36
extern
struct
cplb_entry
icplb_tbl
[
NR_CPUS
][
MAX_CPLBS
];
37
extern
int
first_switched_icplb
;
38
extern
int
first_switched_dcplb
;
39
40
extern
int
nr_dcplb_miss
[],
nr_icplb_miss
[],
nr_icplb_supv_miss
[];
41
extern
int
nr_dcplb_prot
[],
nr_cplb_flush
[];
42
43
#ifdef CONFIG_MPU
44
45
extern
int
first_mask_dcplb
;
46
47
extern
int
page_mask_order
;
48
extern
int
page_mask_nelts
;
49
50
extern
unsigned
long
*
current_rwx_mask
[
NR_CPUS
];
51
52
extern
void
flush_switched_cplbs
(
unsigned
int
);
53
extern
void
set_mask_dcplbs
(
unsigned
long
*,
unsigned
int
);
54
55
extern
void
__noreturn
panic_cplb_error
(
int
seqstat,
struct
pt_regs
*);
56
57
#endif
/* CONFIG_MPU */
58
59
extern
void
bfin_icache_init
(
struct
cplb_entry
*
icplb_tbl
);
60
extern
void
bfin_dcache_init
(
struct
cplb_entry
*
icplb_tbl
);
61
62
#if defined(CONFIG_BFIN_DCACHE) || defined(CONFIG_BFIN_ICACHE)
63
extern
void
generate_cplb_tables_all
(
void
);
64
extern
void
generate_cplb_tables_cpu
(
unsigned
int
cpu
);
65
#endif
66
#endif
Generated on Thu Jan 10 2013 13:04:05 for Linux Kernel by
1.8.2