~ubuntu-branches/ubuntu/lucid/skyeye/lucid

« back to all changes in this revision

Viewing changes to arch/arm/common/mmu/wb.h

  • Committer: Bazaar Package Importer
  • Author(s): Yu Guanghui
  • Date: 2006-08-09 16:30:44 UTC
  • Revision ID: james.westby@ubuntu.com-20060809163044-6efqjm0t2stau23w
Tags: upstream-1.2.0rc8
ImportĀ upstreamĀ versionĀ 1.2.0rc8

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef _MMU_WB_H_
 
2
#define _MMU_WB_H_
 
3
 
 
4
typedef struct wb_entry_s
 
5
{
 
6
        ARMword pa;             //phy_addr
 
7
        ARMbyte *data;          //data
 
8
        int nb;                 //number byte to write
 
9
} wb_entry_t;
 
10
 
 
11
typedef struct wb_s
 
12
{
 
13
        int num;                //number of wb_entry
 
14
        int nb;                 //number of byte of each entry
 
15
        int first;              //
 
16
        int last;               //
 
17
        int used;               //
 
18
        wb_entry_t *entrys;
 
19
} wb_t;
 
20
 
 
21
typedef struct wb_desc_s
 
22
{
 
23
        int num;
 
24
        int nb;
 
25
} wb_desc_t;
 
26
 
 
27
/* wb_init
 
28
 * @wb_t        :wb_t to init
 
29
 * @num         :num of entrys
 
30
 * @nw          :num of word of each entry
 
31
 *
 
32
 * $    -1:error
 
33
 *               0:ok
 
34
 * */
 
35
int mmu_wb_init (wb_t * wb_t, int num, int nb);
 
36
 
 
37
 
 
38
/* wb_exit
 
39
 * @wb_t :wb_t to exit
 
40
 * */
 
41
void mmu_wb_exit (wb_t * wb);
 
42
 
 
43
 
 
44
/* wb_write_bytes :put bytess in Write Buffer
 
45
 * @state:      ARMul_State
 
46
 * @wb_t:       write buffer
 
47
 * @pa:         physical address
 
48
 * @data:       data ptr
 
49
 * @n           number of byte to write
 
50
 *
 
51
 * Note: write buffer merge is not implemented, can be done late
 
52
 * */
 
53
void
 
54
mmu_wb_write_bytess (ARMul_State * state, wb_t * wb_t, ARMword pa,
 
55
                     ARMbyte * data, int n);
 
56
 
 
57
 
 
58
/* wb_drain_all
 
59
 * @wb_t wb_t to drain
 
60
 * */
 
61
void mmu_wb_drain_all (ARMul_State * state, wb_t * wb_t);
 
62
 
 
63
#endif /*_MMU_WB_H_*/