OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-arm/] [mach/] [arch.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1276 phoenix
/*
2
 *  linux/include/asm-arm/mach/arch.h
3
 *
4
 *  Copyright (C) 2000 Russell King
5
 *
6
 * This program is free software; you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License version 2 as
8
 * published by the Free Software Foundation.
9
 */
10
 
11
/*
12
 * The size of struct machine_desc
13
 *   (for assembler code)
14
 */
15
#define SIZEOF_MACHINE_DESC     48
16
 
17
#ifndef __ASSEMBLY__
18
 
19
extern void setup_initrd(unsigned int start, unsigned int size);
20
extern void setup_ramdisk(int doload, int prompt, int start, unsigned int rd_sz);
21
 
22
struct machine_desc {
23
        /*
24
         * Note! The first four elements are used
25
         * by assembler code in head-armv.S
26
         */
27
        unsigned int            nr;             /* architecture number  */
28
        unsigned int            phys_ram;       /* start of physical ram */
29
        unsigned int            phys_io;        /* start of physical io */
30
        unsigned int            io_pg_offst;    /* byte offset for io
31
                                                 * page tabe entry      */
32
 
33
        const char              *name;          /* architecture name    */
34
        unsigned int            param_offset;   /* parameter page       */
35
 
36
        unsigned int            video_start;    /* start of video RAM   */
37
        unsigned int            video_end;      /* end of video RAM     */
38
 
39
        unsigned int            reserve_lp0 :1; /* never has lp0        */
40
        unsigned int            reserve_lp1 :1; /* never has lp1        */
41
        unsigned int            reserve_lp2 :1; /* never has lp2        */
42
        unsigned int            soft_reboot :1; /* soft reboot          */
43
        void                    (*fixup)(struct machine_desc *,
44
                                         struct param_struct *, char **,
45
                                         struct meminfo *);
46
        void                    (*map_io)(void);/* IO mapping function  */
47
        void                    (*init_irq)(void);
48
};
49
 
50
/*
51
 * Set of macros to define architecture features.  This is built into
52
 * a table by the linker.
53
 */
54
#define MACHINE_START(_type,_name)              \
55
const struct machine_desc __mach_desc_##_type   \
56
 __attribute__((__section__(".arch.info"))) = { \
57
        .nr             = MACH_TYPE_##_type,    \
58
        .name           = _name,
59
 
60
#define MAINTAINER(n)
61
 
62
#define BOOT_MEM(_pram,_pio,_vio)               \
63
        .phys_ram       = _pram,                \
64
        .phys_io        = _pio,                 \
65
        .io_pg_offst    = ((_vio)>>18)&0xfffc,
66
 
67
#define BOOT_PARAMS(_params)                    \
68
        .param_offset   = _params,
69
 
70
#define VIDEO(_start,_end)                      \
71
        .video_start    = _start,               \
72
        .video_end      = _end,
73
 
74
#define DISABLE_PARPORT(_n)                     \
75
        .reserve_lp##_n = 1,
76
 
77
#define BROKEN_HLT /* unused */
78
 
79
#define SOFT_REBOOT                             \
80
        .soft_reboot    = 1,
81
 
82
#define FIXUP(_func)                            \
83
        .fixup          = _func,
84
 
85
#define MAPIO(_func)                            \
86
        .map_io         = _func,
87
 
88
#define INITIRQ(_func)                          \
89
        .init_irq       = _func,
90
 
91
#define MACHINE_END                             \
92
};
93
 
94
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.