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

Subversion Repositories ao486

[/] [ao486/] [trunk/] [sim/] [sim_pc/] [shared_mem.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alfik
 
2
#ifndef __SHARED_MEM_H
3
#define __SHARED_MEM_H
4
 
5
typedef unsigned char  uint8;
6
typedef unsigned short uint16;
7
typedef unsigned int   uint32;
8
typedef unsigned long  uint64;
9
 
10
union memory_t {
11
    uint8  bytes [134217728];
12
    uint16 shorts[67108864];
13
    uint32 ints  [33554432];
14
};
15
 
16
enum step_t {
17
    STEP_IDLE = 0,
18
    STEP_REQ  = 1,
19
    STEP_ACK  = 2
20
};
21
 
22
struct processor_t {
23
    step_t starting;
24
    uint32 instr_counter;
25
 
26
    step_t stop;
27
 
28
    uint32 io_address;
29
    uint32 io_data;
30
    uint32 io_byteenable;
31
    uint32 io_is_write;
32
    step_t io_step;
33
 
34
    uint32 mem_address;
35
    uint32 mem_data;
36
    uint32 mem_byteenable;
37
    uint32 mem_is_write;
38
    step_t mem_step;
39
};
40
 
41
struct shared_mem_t {
42
 
43
    processor_t bochs486_pc;
44
    processor_t ao486;
45
 
46
    processor_t combined;
47
 
48
    uint32 dump_enabled;
49
 
50
    uint32 interrupt_vector;
51
    uint32 interrupt_at_counter;
52
 
53
    step_t bochsDevs_starting;
54
    step_t bochsDevs_stop;
55
 
56
    step_t hdd_irq_step;
57
    step_t pit_irq_step;
58
    step_t rtc_irq_step;
59
    step_t floppy_irq_step;
60
    step_t keyboard_irq_step;
61
    step_t mouse_irq_step;
62
 
63
    uint32 irq_do_vector;
64
    step_t irq_do;
65
 
66
    uint32 irq_done_vector;
67
    step_t irq_done;
68
 
69
    memory_t mem;
70
};
71
 
72
 
73
#endif //__SHARED_MEM_H

powered by: WebSVN 2.1.0

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