24 |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* $Id: dev_gc.c,v 1.6 2006/01/01 13:17:16 debug Exp $ |
* $Id: dev_gc.c,v 1.8 2006/02/27 05:32:26 debug Exp $ |
28 |
* |
* |
29 |
* Grand Central Interrupt controller (used by MacPPC). |
* Grand Central Interrupt controller (used by MacPPC). |
30 |
*/ |
*/ |
41 |
#include "misc.h" |
#include "misc.h" |
42 |
|
|
43 |
|
|
|
/* |
|
|
* dev_gc_access(): |
|
|
*/ |
|
44 |
DEVICE_ACCESS(gc) |
DEVICE_ACCESS(gc) |
45 |
{ |
{ |
46 |
struct gc_data *d = extra; |
struct gc_data *d = extra; |
64 |
|
|
65 |
case 0x10: |
case 0x10: |
66 |
if (writeflag == MEM_READ) |
if (writeflag == MEM_READ) |
67 |
odata = d->status_hi |
odata = d->status_hi & d->enable_hi; |
|
& d->enable_hi |
|
|
; |
|
68 |
break; |
break; |
69 |
|
|
70 |
case 0x14: |
case 0x14: |
89 |
|
|
90 |
case 0x20: |
case 0x20: |
91 |
if (writeflag == MEM_READ) |
if (writeflag == MEM_READ) |
92 |
odata = d->status_lo |
odata = d->status_lo & d->enable_lo; |
|
& d->enable_lo |
|
|
; |
|
93 |
break; |
break; |
94 |
|
|
95 |
case 0x24: |
case 0x24: |
112 |
} |
} |
113 |
break; |
break; |
114 |
|
|
115 |
|
case 0x2c: |
116 |
|
/* Avoir a debug message. */ |
117 |
|
break; |
118 |
|
|
119 |
default:if (writeflag == MEM_WRITE) { |
default:if (writeflag == MEM_WRITE) { |
120 |
fatal("[ gc: unimplemented write to " |
fatal("[ gc: unimplemented write to " |
121 |
"offset 0x%x: data=0x%x ]\n", (int) |
"offset 0x%x: data=0x%x ]\n", (int) |