mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
libs/guest: don't use unsigned long as type for PFNs
Declarations of xc_dom_console_init() and xc_dom_console_set_disconnected() in libxenguest.h don't match their implementation in the library. Under arm32, xen_pfn_t is a uint64_t and wider than unsigned long. Use xen_pfn_t for GFNs in the library to fix that. At the same time change the parameter name of the implementation to console_gfn, matching the interface declaration in the header and reality (it is a GFN, not a PFN). Fixes:b6fc307b0b("libs/guest: Set console as disconnected on resume") Fixes:971b7d5ecb("libs/guest: Set console page to disconnected") Reported-by: Luca Fancellu <luca.fancellu@arm.com> Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com> Tested-by: Luca Fancellu <luca.fancellu@arm.com> Release-Acked-By: Oleksii Kurochko <oleksii.kurochko@gmail.com> Acked-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
1 parent
b6fc307b0b
commit
fd67ca4e58
1 file changed
+7
-7
@@ -430,12 +430,12 @@ int xc_dom_gnttab_init(struct xc_dom_image *dom)
|
||||
|
||||
static int dom_console_init(xc_interface *xch,
|
||||
uint32_t domid,
|
||||
unsigned long dst_pfn,
|
||||
xen_pfn_t console_gfn,
|
||||
bool clear)
|
||||
{
|
||||
const size_t size = PAGE_SIZE;
|
||||
struct xencons_interface *xencons = xc_map_foreign_range(
|
||||
xch, domid, size, PROT_WRITE, dst_pfn);
|
||||
xch, domid, size, PROT_WRITE, console_gfn);
|
||||
|
||||
if ( xencons == NULL )
|
||||
return -1;
|
||||
@@ -445,22 +445,22 @@ static int dom_console_init(xc_interface *xch,
|
||||
xencons->connection = XENCONSOLE_DISCONNECTED;
|
||||
|
||||
munmap(xencons, size);
|
||||
xc_domain_cacheflush(xch, domid, dst_pfn, 1);
|
||||
xc_domain_cacheflush(xch, domid, console_gfn, 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int xc_dom_console_init(xc_interface *xch,
|
||||
uint32_t domid,
|
||||
unsigned long dst_pfn)
|
||||
xen_pfn_t console_gfn)
|
||||
{
|
||||
return dom_console_init(xch, domid, dst_pfn, true);
|
||||
return dom_console_init(xch, domid, console_gfn, true);
|
||||
}
|
||||
|
||||
int xc_dom_console_set_disconnected(xc_interface *xch,
|
||||
uint32_t domid,
|
||||
unsigned long dst_pfn)
|
||||
xen_pfn_t console_gfn)
|
||||
{
|
||||
return dom_console_init(xch, domid, dst_pfn, false);
|
||||
return dom_console_init(xch, domid, console_gfn, false);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||