summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/apicvar.h
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2006-12-17 06:48:40 +0000
committerkmacy <kmacy@FreeBSD.org>2006-12-17 06:48:40 +0000
commit20611107850a6c1de42880a35271d3a18a4b8811 (patch)
tree4a10bc4aba837d9f1be450b197838da90973dd1b /sys/amd64/include/apicvar.h
parentee539b99dcacb73703a09f64d8ada227bb88a165 (diff)
downloadFreeBSD-src-20611107850a6c1de42880a35271d3a18a4b8811.zip
FreeBSD-src-20611107850a6c1de42880a35271d3a18a4b8811.tar.gz
Newer versions of gcc don't support treating structures passed by value
as if they were really passed by reference. Specifically, the dead stores elimination pass in the GCC 4.1 optimiser breaks the non-compliant behavior on which FreeBSD relied. This change brings FreeBSD up to date by switching trap frames to being explicitly passed by reference. Reviewed by: kan Tested by: kan
Diffstat (limited to 'sys/amd64/include/apicvar.h')
-rw-r--r--sys/amd64/include/apicvar.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/include/apicvar.h b/sys/amd64/include/apicvar.h
index 6cc37c6..bd0386b 100644
--- a/sys/amd64/include/apicvar.h
+++ b/sys/amd64/include/apicvar.h
@@ -202,8 +202,8 @@ int lapic_intr_pending(u_int vector);
void lapic_ipi_raw(register_t icrlo, u_int dest);
void lapic_ipi_vectored(u_int vector, int dest);
int lapic_ipi_wait(int delay);
-void lapic_handle_intr(int vector, struct trapframe frame);
-void lapic_handle_timer(struct trapframe frame);
+void lapic_handle_intr(int vector, struct trapframe *frame);
+void lapic_handle_timer(struct trapframe *frame);
void lapic_set_logical_id(u_int apic_id, u_int cluster, u_int cluster_id);
int lapic_set_lvt_mask(u_int apic_id, u_int lvt, u_char masked);
int lapic_set_lvt_mode(u_int apic_id, u_int lvt, u_int32_t mode);
OpenPOWER on IntegriCloud