diff options
author | marcel <marcel@FreeBSD.org> | 2001-11-05 05:55:33 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2001-11-05 05:55:33 +0000 |
commit | f43c59c8857f4a120c894bf9997d2b61e19716ae (patch) | |
tree | 4358bfa174257a2e653be1e2b1cf69096cfe644e /sys | |
parent | ba5cfb0dbeb0e5831ceb781d1a76c64ee3893cdd (diff) | |
download | FreeBSD-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.c | 3 |
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; |