mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
sgi-xp: support getting the address of a partition's reserved page
Add support for getting the address of a partition's reserved page. Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
31de5ece35
commit
7d9d1f25c3
1 changed files with 28 additions and 3 deletions
|
@ -642,7 +642,7 @@ xpc_send_local_activate_IRQ_uv(struct xpc_partition *part, int act_state_req)
|
|||
struct xpc_partition_uv *part_uv = &part->sn.uv;
|
||||
|
||||
/*
|
||||
* !!! Make our side think that the remote parition sent an activate
|
||||
* !!! Make our side think that the remote partition sent an activate
|
||||
* !!! message our way by doing what the activate IRQ handler would
|
||||
* !!! do had one really been sent.
|
||||
*/
|
||||
|
@ -660,8 +660,33 @@ static enum xp_retval
|
|||
xpc_get_partition_rsvd_page_pa_uv(void *buf, u64 *cookie, unsigned long *rp_pa,
|
||||
size_t *len)
|
||||
{
|
||||
/* !!! call the UV version of sn_partition_reserved_page_pa() */
|
||||
return xpUnsupported;
|
||||
s64 status;
|
||||
enum xp_retval ret;
|
||||
|
||||
#if defined CONFIG_X86_64
|
||||
status = uv_bios_reserved_page_pa((u64)buf, cookie, (u64 *)rp_pa,
|
||||
(u64 *)len);
|
||||
if (status == BIOS_STATUS_SUCCESS)
|
||||
ret = xpSuccess;
|
||||
else if (status == BIOS_STATUS_MORE_PASSES)
|
||||
ret = xpNeedMoreInfo;
|
||||
else
|
||||
ret = xpBiosError;
|
||||
|
||||
#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV
|
||||
status = sn_partition_reserved_page_pa((u64)buf, cookie, rp_pa, len);
|
||||
if (status == SALRET_OK)
|
||||
ret = xpSuccess;
|
||||
else if (status == SALRET_MORE_PASSES)
|
||||
ret = xpNeedMoreInfo;
|
||||
else
|
||||
ret = xpSalError;
|
||||
|
||||
#else
|
||||
#error not a supported configuration
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
Loading…
Reference in a new issue