diff options
| author | Luigi Rizzo <luigi@FreeBSD.org> | 2001-12-14 17:56:12 +0000 |
|---|---|---|
| committer | Luigi Rizzo <luigi@FreeBSD.org> | 2001-12-14 17:56:12 +0000 |
| commit | e4fc250c15768b8e203496ee908dedb37846ea4f (patch) | |
| tree | 4ea0e407bb3cf5815d6067507d1fdc39f76f58e6 /sys/amd64 | |
| parent | 99adc698c1889950d1ff2b747f52de00fd69a8b1 (diff) | |
Notes
Diffstat (limited to 'sys/amd64')
| -rw-r--r-- | sys/amd64/amd64/trap.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 23ad3fc2442f..51c4c79554f4 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -162,6 +162,11 @@ SYSCTL_INT(_machdep, OID_AUTO, panic_on_nmi, CTLFLAG_RW, extern char *syscallnames[]; #endif +#ifdef DEVICE_POLLING +extern u_int32_t poll_in_trap; +extern int ether_poll __P((int count)); +#endif /* DEVICE_POLLING */ + /* * Exception, fault, and trap interface to the FreeBSD kernel. * This common code is called from assembly language IDT gate entry @@ -239,6 +244,11 @@ trap(frame) trap_fatal(&frame, eva); } +#ifdef DEVICE_POLLING + if (poll_in_trap) + ether_poll(poll_in_trap); +#endif /* DEVICE_POLLING */ + if ((ISPL(frame.tf_cs) == SEL_UPL) || ((frame.tf_eflags & PSL_VM) && !in_vm86call)) { /* user trap */ |
