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.
This commit is contained in:
parent
0308a57783
commit
7ce535925c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user