summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2001-11-05 05:55:33 +0000
committermarcel <marcel@FreeBSD.org>2001-11-05 05:55:33 +0000
commitf43c59c8857f4a120c894bf9997d2b61e19716ae (patch)
tree4358bfa174257a2e653be1e2b1cf69096cfe644e /sys
parentba5cfb0dbeb0e5831ceb781d1a76c64ee3893cdd (diff)
downloadFreeBSD-src-f43c59c8857f4a120c894bf9997d2b61e19716ae.zip
FreeBSD-src-f43c59c8857f4a120c894bf9997d2b61e19716ae.tar.gz
Don't pass os_boot_rendez directly to SAL_SET_VECTORS, because it's
actually the address of the function descriptor. The fdesc has both the address of the function and it's corresponding gp value. Now that we have a gp value, use it instead of passing 0.
Diffstat (limited to 'sys')
-rw-r--r--sys/ia64/ia64/sal.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/ia64/ia64/sal.c b/sys/ia64/ia64/sal.c
index ef59115..bc43575 100644
--- a/sys/ia64/ia64/sal.c
+++ b/sys/ia64/ia64/sal.c
@@ -91,6 +91,7 @@ ia64_sal_init(struct sal_system_table *saltab)
case 5: {
struct sal_ap_wakeup_descriptor *dp;
struct ia64_sal_result sal;
+ struct ia64_fdesc *fptr = (void*)os_boot_rendez;
int ipi;
dp = (struct sal_ap_wakeup_descriptor*)p;
@@ -105,7 +106,7 @@ ia64_sal_init(struct sal_system_table *saltab)
sal = ia64_sal_entry(SAL_SET_VECTORS,
SAL_OS_BOOT_RENDEZ,
- ia64_tpa((vm_offset_t)os_boot_rendez), 0, 0,
+ ia64_tpa(fptr->func), ia64_tpa(fptr->gp), 0,
0, 0, 0);
mp_hardware = 1;
OpenPOWER on IntegriCloud