xen-usb: do not reference PAGE_SIZE
PAGE_SIZE is undefined on ARM64. Use XC_PAGE_SIZE instead, which is always 4096 even when page granularity is 64K. For this to actually work with 64K pages, more changes are required. Signed-off-by: Stefano Stabellini <sstabellini@kernel.org> Reviewed-by: Juergen Gross <jgross@suse.com> Release-acked-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
parent
b49e452fe9
commit
c6d25aa6ba
@ -160,7 +160,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
|
||||
|
||||
for (i = 0; i < nr_segs; i++) {
|
||||
if ((unsigned)usbback_req->req.seg[i].offset +
|
||||
(unsigned)usbback_req->req.seg[i].length > PAGE_SIZE) {
|
||||
(unsigned)usbback_req->req.seg[i].length > XC_PAGE_SIZE) {
|
||||
xen_be_printf(xendev, 0, "segment crosses page boundary\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
@ -183,7 +183,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
|
||||
|
||||
for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
|
||||
seg = usbback_req->req.seg + i;
|
||||
addr = usbback_req->buffer + i * PAGE_SIZE + seg->offset;
|
||||
addr = usbback_req->buffer + i * XC_PAGE_SIZE + seg->offset;
|
||||
qemu_iovec_add(&usbback_req->packet.iov, addr, seg->length);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user