Changeset fd67c9f in mainline for kernel/genarch/include


Ignore:
Timestamp:
2019-04-06T08:10:27Z (7 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
534bcdf
Parents:
ef56a43
Message:

Handle PIC spurious IRQs with care

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/genarch/include/genarch/drivers/i8259/i8259.h

    ref56a43 rfd67c9f  
    3838#include <typedefs.h>
    3939#include <arch/interrupt.h>
     40#include <stdbool.h>
    4041
    4142/* ICW1 bits */
     
    4344#define PIC_ICW1_NEEDICW4  (1 << 0)
    4445
     46/* OCW3 bits */
     47#define PIC_OCW3           (1 << 3)
     48#define PIC_OCW3_READ_ISR  (3 << 0)
     49
    4550/* OCW4 bits */
    4651#define PIC_OCW4           (0 << 3)
    4752#define PIC_OCW4_NSEOI     (1 << 5)
     53
     54#define PIC_IRQ_COUNT      8
     55#define PIC_SPURIOUS_IRQ   7
    4856
    4957typedef struct {
     
    5664extern void pic_disable_irqs(uint16_t);
    5765extern void pic_eoi(unsigned int);
     66extern bool pic_is_spurious(unsigned int);
     67extern void pic_handle_spurious(unsigned int);
    5868
    5969#endif
Note: See TracChangeset for help on using the changeset viewer.