1 |
/* |
/* |
2 |
* Copyright (C) 2005 Anders Gavare. All rights reserved. |
* Copyright (C) 2005-2006 Anders Gavare. All rights reserved. |
3 |
* |
* |
4 |
* Redistribution and use in source and binary forms, with or without |
* Redistribution and use in source and binary forms, with or without |
5 |
* modification, are permitted provided that the following conditions are met: |
* modification, are permitted provided that the following conditions are met: |
25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: dev_8259.c,v 1.22 2005/11/23 18:16:42 debug Exp $ |
* $Id: dev_8259.c,v 1.24 2006/02/09 20:02:58 debug Exp $ |
29 |
* |
* |
30 |
* 8259 Programmable Interrupt Controller. |
* 8259 Programmable Interrupt Controller. |
31 |
* |
* |
54 |
/* |
/* |
55 |
* dev_8259_access(): |
* dev_8259_access(): |
56 |
*/ |
*/ |
57 |
int dev_8259_access(struct cpu *cpu, struct memory *mem, |
DEVICE_ACCESS(8259) |
|
uint64_t relative_addr, unsigned char *data, size_t len, |
|
|
int writeflag, void *extra) |
|
58 |
{ |
{ |
59 |
struct pic8259_data *d = (struct pic8259_data *) extra; |
struct pic8259_data *d = (struct pic8259_data *) extra; |
60 |
uint64_t idata = 0, odata = 0; |
uint64_t idata = 0, odata = 0; |
249 |
* which the PIC is connected. (That is left to machine specific |
* which the PIC is connected. (That is left to machine specific |
250 |
* code in src/machine.c.) |
* code in src/machine.c.) |
251 |
*/ |
*/ |
252 |
int devinit_8259(struct devinit *devinit) |
DEVINIT(8259) |
253 |
{ |
{ |
254 |
struct pic8259_data *d = malloc(sizeof(struct pic8259_data)); |
struct pic8259_data *d = malloc(sizeof(struct pic8259_data)); |
255 |
char *name2; |
char *name2; |