Changes in / [c2f3e0b:ba21938] in mainline
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ddi/irq.h
rc2f3e0b rba21938 54 54 /** Read 4 bytes from the I/O space. */ 55 55 CMD_PIO_READ_32, 56 56 57 /** Write 1 byte to the I/O space. */ 57 58 CMD_PIO_WRITE_8, … … 62 63 63 64 /** 64 * Perform a bit test on the source argument and store the result into 65 * the destination argument. 65 * Write 1 byte from the source argument 66 * to the I/O space. 67 */ 68 CMD_PIO_WRITE_A_8, 69 /** 70 * Write 2 bytes from the source argument 71 * to the I/O space. 72 */ 73 CMD_PIO_WRITE_A_16, 74 /** 75 * Write 4 bytes from the source argument 76 * to the I/O space. 77 */ 78 CMD_PIO_WRITE_A_32, 79 80 /** 81 * Perform a bit masking on the source argument 82 * and store the result into the destination argument. 66 83 */ 67 84 CMD_BTEST, 68 85 69 86 /** 70 * Predicate the execution of the following N commands by the boolean 71 * value of the source argument. 87 * Predicate the execution of the following 88 * N commands by the boolean value of the source 89 * argument. 72 90 */ 73 91 CMD_PREDICATE, … … 75 93 /** Accept the interrupt. */ 76 94 CMD_ACCEPT, 95 77 96 /** Decline the interrupt. */ 78 97 CMD_DECLINE, -
kernel/generic/src/ipc/irq.c
rc2f3e0b rba21938 404 404 (uint32_t) code->cmds[i].value); 405 405 break; 406 case CMD_PIO_WRITE_A_8: 407 if (srcarg) { 408 pio_write_8((ioport8_t *) code->cmds[i].addr, 409 (uint8_t) scratch[srcarg]); 410 } 411 break; 412 case CMD_PIO_WRITE_A_16: 413 if (srcarg) { 414 pio_write_16((ioport16_t *) code->cmds[i].addr, 415 (uint16_t) scratch[srcarg]); 416 } 417 break; 418 case CMD_PIO_WRITE_A_32: 419 if (srcarg) { 420 pio_write_32((ioport32_t *) code->cmds[i].addr, 421 (uint32_t) scratch[srcarg]); 422 } 423 break; 406 424 case CMD_BTEST: 407 425 if ((srcarg) && (dstarg)) { -
uspace/srv/hw/netif/dp8390/dp8390.c
rc2f3e0b rba21938 375 375 } 376 376 377 void dp_check_ints(int nil_phone, device_id_t device_id, dpeth_t *dep, int isr) 377 static uint8_t isr_acknowledge(dpeth_t *dep) 378 { 379 uint8_t isr = inb_reg0(dep, DP_ISR) & 0x7f; 380 if (isr != 0) 381 outb_reg0(dep, DP_ISR, isr); 382 383 return isr; 384 } 385 386 void dp_check_ints(int nil_phone, device_id_t device_id, dpeth_t *dep, uint8_t isr) 378 387 { 379 388 int tsr; … … 383 392 fprintf(stderr, "dp8390: got premature interrupt\n"); 384 393 385 for (; isr; isr = inb_reg0(dep, DP_ISR)) { 386 outb_reg0(dep, DP_ISR, isr); 387 394 for (; isr != 0; isr = isr_acknowledge(dep)) { 388 395 if (isr & (ISR_PTX | ISR_TXE)) { 389 396 if (isr & ISR_TXE) -
uspace/srv/hw/netif/dp8390/dp8390_drv.h
rc2f3e0b rba21938 56 56 * @param[in,out] dep The network interface structure. 57 57 */ 58 void dp_check_ints(int nil_phone, device_id_t device_id, dpeth_t *dep, int isr);58 void dp_check_ints(int nil_phone, device_id_t device_id, dpeth_t *dep, uint8_t isr); 59 59 60 60 /** Probes and initializes the network interface. -
uspace/srv/hw/netif/dp8390/dp8390_module.c
rc2f3e0b rba21938 92 92 }, 93 93 { 94 .cmd = CMD_PIO_WRITE_ 8,94 .cmd = CMD_PIO_WRITE_A_8, 95 95 .addr = NULL, 96 . value = 0xff96 .srcarg = 3 97 97 }, 98 98 {
Note:
See TracChangeset
for help on using the changeset viewer.