Subversion Repositories HelenOS

Rev

Rev 3386 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3386 Rev 4153
Line 27... Line 27...
27
 */
27
 */
28
 
28
 
29
#ifndef BOOT_mips32_MAIN_H_
29
#ifndef BOOT_mips32_MAIN_H_
30
#define BOOT_mips32_MAIN_H_
30
#define BOOT_mips32_MAIN_H_
31
 
31
 
32
/** Align to the nearest higher address.
32
#define CPUMAP               0x80001000
-
 
33
#define INITIAL_STACK        0x80002000
-
 
34
#define MSIM_DORDER_ADDRESS  0xb0000004
33
 *
35
 
34
 * @param addr  Address or size to be aligned.
36
#define TASKMAP_MAX_RECORDS  32
35
 * @param align Size of alignment, must be power of 2.
37
#define CPUMAP_MAX_RECORDS   32
36
 */
38
 
37
#define ALIGN_UP(addr, align) (((addr) + ((align) - 1)) & ~((align) - 1))
39
#ifndef __ASM__
38
 
40
 
-
 
41
/** Size of buffer for storing task name in task_t. */
39
#define TASKMAP_MAX_RECORDS 32
42
#define BOOTINFO_TASK_NAME_BUFLEN 32
40
 
43
 
-
 
44
/** Struct holding information about single loaded task. */
41
typedef struct {
45
typedef struct {
-
 
46
    /** Address where the task was placed. */
42
    void *addr;
47
    void *addr;
-
 
48
    /** Size of the task's binary. */
43
    unsigned int size;
49
    unsigned int size;
-
 
50
    /** Task name. */
-
 
51
    char name[BOOTINFO_TASK_NAME_BUFLEN];
44
} task_t;
52
} task_t;
45
 
53
 
46
typedef struct {
54
typedef struct {
-
 
55
    unsigned int cpumap;
47
    unsigned int cnt;
56
    unsigned int cnt;
48
    task_t tasks[TASKMAP_MAX_RECORDS];
57
    task_t tasks[TASKMAP_MAX_RECORDS];
49
} bootinfo_t;
58
} bootinfo_t;
50
 
59
 
51
extern void start(void);
60
extern void start(void);
52
extern void bootstrap(void);
61
extern void bootstrap(void);
53
 
62
 
54
#endif
63
#endif
-
 
64
 
-
 
65
#endif