Deleted Added
full compact
atpic.c (233031) atpic.c (255726)
1/*-
2 * Copyright (c) 2003 John Baldwin <jhb@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 18 unchanged lines hidden (view full) ---

27 * SUCH DAMAGE.
28 */
29
30/*
31 * PIC driver for the 8259A Master and Slave PICs in PC/AT machines.
32 */
33
34#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2003 John Baldwin <jhb@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 18 unchanged lines hidden (view full) ---

27 * SUCH DAMAGE.
28 */
29
30/*
31 * PIC driver for the 8259A Master and Slave PICs in PC/AT machines.
32 */
33
34#include <sys/cdefs.h>
35__FBSDID("$FreeBSD: head/sys/x86/isa/atpic.c 233031 2012-03-16 12:13:44Z nyan $");
35__FBSDID("$FreeBSD: head/sys/x86/isa/atpic.c 255726 2013-09-20 05:06:03Z gibbs $");
36
37#include "opt_auto_eoi.h"
38#include "opt_isa.h"
39
40#include <sys/param.h>
41#include <sys/systm.h>
42#include <sys/bus.h>
43#include <sys/interrupt.h>

--- 74 unchanged lines hidden (view full) ---

118
119static void atpic_enable_source(struct intsrc *isrc);
120static void atpic_disable_source(struct intsrc *isrc, int eoi);
121static void atpic_eoi_master(struct intsrc *isrc);
122static void atpic_eoi_slave(struct intsrc *isrc);
123static void atpic_enable_intr(struct intsrc *isrc);
124static void atpic_disable_intr(struct intsrc *isrc);
125static int atpic_vector(struct intsrc *isrc);
36
37#include "opt_auto_eoi.h"
38#include "opt_isa.h"
39
40#include <sys/param.h>
41#include <sys/systm.h>
42#include <sys/bus.h>
43#include <sys/interrupt.h>

--- 74 unchanged lines hidden (view full) ---

118
119static void atpic_enable_source(struct intsrc *isrc);
120static void atpic_disable_source(struct intsrc *isrc, int eoi);
121static void atpic_eoi_master(struct intsrc *isrc);
122static void atpic_eoi_slave(struct intsrc *isrc);
123static void atpic_enable_intr(struct intsrc *isrc);
124static void atpic_disable_intr(struct intsrc *isrc);
125static int atpic_vector(struct intsrc *isrc);
126static void atpic_resume(struct pic *pic);
126static void atpic_resume(struct pic *pic, bool suspend_cancelled);
127static int atpic_source_pending(struct intsrc *isrc);
128static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig,
129 enum intr_polarity pol);
130static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id);
131static void i8259_init(struct atpic *pic, int slave);
132
133static struct atpic atpics[] = {
134 ATPIC(IO_ICU1, 0, atpic_eoi_master, (uint8_t *)&imen),

--- 136 unchanged lines hidden (view full) ---

271{
272 struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc;
273 struct atpic *ap = (struct atpic *)isrc->is_pic;
274
275 return (inb(ap->at_ioaddr) & IMEN_MASK(ai));
276}
277
278static void
127static int atpic_source_pending(struct intsrc *isrc);
128static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig,
129 enum intr_polarity pol);
130static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id);
131static void i8259_init(struct atpic *pic, int slave);
132
133static struct atpic atpics[] = {
134 ATPIC(IO_ICU1, 0, atpic_eoi_master, (uint8_t *)&imen),

--- 136 unchanged lines hidden (view full) ---

271{
272 struct atpic_intsrc *ai = (struct atpic_intsrc *)isrc;
273 struct atpic *ap = (struct atpic *)isrc->is_pic;
274
275 return (inb(ap->at_ioaddr) & IMEN_MASK(ai));
276}
277
278static void
279atpic_resume(struct pic *pic)
279atpic_resume(struct pic *pic, bool suspend_cancelled)
280{
281 struct atpic *ap = (struct atpic *)pic;
282
283 i8259_init(ap, ap == &atpics[SLAVE]);
284#ifndef PC98
285 if (ap == &atpics[SLAVE] && elcr_found)
286 elcr_resume();
287#endif

--- 357 unchanged lines hidden ---
280{
281 struct atpic *ap = (struct atpic *)pic;
282
283 i8259_init(ap, ap == &atpics[SLAVE]);
284#ifndef PC98
285 if (ap == &atpics[SLAVE] && elcr_found)
286 elcr_resume();
287#endif

--- 357 unchanged lines hidden ---