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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [asm-i960/] [processor.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1633 jcastillo
/*
2
 * include/asm-i960/processor.h
3
 *
4
 * Copyright (C) 1999 Keith Adams
5
 */
6
 
7
#ifndef __ASM_I960_PROCESSOR_H
8
#define __ASM_I960_PROCESSOR_H
9
 
10
#include <asm/segment.h>
11
 
12
/*
13
 * Bus types
14
 */
15
#define EISA_bus__is_a_macro    1
16
#define EISA_bus 0
17
#define MCA_bus__is_a_macro     1
18
#define MCA_bus 0
19
 
20
/*
21
 * The i960 can't do write protection
22
 */
23
#define wp_works_ok__is_a_macro 1
24
#define wp_works_ok 0
25
 
26
/* MAX floating point unit state size (FSAVE/FRESTORE) */
27
#define FPSTATESIZE   0
28
 
29
struct thread_struct {
30
        unsigned long  pfp;             /* saved pfp of thread */
31
};
32
 
33
/* XXX: do something with this */
34
#define INIT_MMAP { &init_mm, 0, 0x40000000, __pgprot(_PAGE_PRESENT|_PAGE_ACCESSED), VM_READ | VM_WRITE | VM_EXEC }
35
 
36
#define INIT_TSS  { \
37
        (long) init_kernel_stack, 0, \
38
 
39
}
40
 
41
unsigned long alloc_kernel_stack(void);
42
void free_kernel_stack(unsigned long ksp);
43
 
44
/*
45
 * Do necessary setup to start up a newly executed thread.
46
 */
47
struct i960_frame {
48
        unsigned long   pfp;
49
        unsigned long   sp;
50
        unsigned long   rip;
51
};
52
 
53
extern void start_thread(struct pt_regs * regs,
54
                         unsigned long ip,
55
                         unsigned long sp);
56
/* TODO: tracing stuff */
57
static inline void tron(void)
58
{
59
}
60
 
61
static inline void troncof(void)
62
{
63
}
64
 
65
static inline void troff(void)
66
{
67
}
68
 
69
/*
70
 * Return saved PC of a blocked thread.
71
 */
72
extern inline unsigned long thread_saved_pc(struct thread_struct *t)
73
{
74
        struct i960_frame* frame = (struct i960_frame*)t->pfp;
75
        return frame->rip;
76
}
77
 
78
#endif

powered by: WebSVN 2.1.0

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