diff options
author | Zach Reizner <zachr@google.com> | 2018-06-18 16:18:52 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-06-21 16:31:43 -0700 |
commit | 298b41cf82dc807b21e0352c6658c52d5550374d (patch) | |
tree | 22074ba7b29df9190c840f5f7e3df106a397b398 /devices/src/virtio/wl.rs | |
parent | 22272dd4b26cf1e3797ea8f7ea0331d71cbd399a (diff) | |
download | crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.gz crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.bz2 crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.lz crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.xz crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.tar.zst crosvm-298b41cf82dc807b21e0352c6658c52d5550374d.zip |
sys_util: move round_to_page_size to sys_util
This function will be used elsewhere in gpu_display. TEST=None BUG=None Change-Id: I58b820511ea5a55a53ad640fdfe7c96d2dbdc73b Reviewed-on: https://chromium-review.googlesource.com/1105481 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'devices/src/virtio/wl.rs')
-rw-r--r-- | devices/src/virtio/wl.rs | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/devices/src/virtio/wl.rs b/devices/src/virtio/wl.rs index dc736de..1ec6873 100644 --- a/devices/src/virtio/wl.rs +++ b/devices/src/virtio/wl.rs @@ -59,7 +59,7 @@ use data_model::*; use data_model::VolatileMemoryError; use sys_util::{Error, Result, EventFd, Scm, SharedMemory, GuestAddress, GuestMemory, - GuestMemoryError, PollContext, PollToken, FileFlags, pipe}; + GuestMemoryError, PollContext, PollToken, FileFlags, pipe, round_up_to_page_size}; #[cfg(feature = "wl-dmabuf")] use sys_util::ioctl_with_ref; @@ -118,12 +118,6 @@ struct dma_buf_sync { #[cfg(feature = "wl-dmabuf")] ioctl_iow_nr!(DMA_BUF_IOCTL_SYNC, DMA_BUF_IOCTL_BASE, 0, dma_buf_sync); -const PAGE_MASK: u64 = 0x0fff; - -fn round_to_page_size(v: u64) -> u64 { - (v + PAGE_MASK) & !PAGE_MASK -} - fn parse_new(addr: GuestAddress, mem: &GuestMemory) -> WlResult<WlOp> { const ID_OFFSET: u64 = 8; const FLAGS_OFFSET: u64 = 12; @@ -639,7 +633,7 @@ impl WlVfd { } fn allocate(vm: VmRequester, size: u64) -> WlResult<WlVfd> { - let size_page_aligned = round_to_page_size(size); + let size_page_aligned = round_up_to_page_size(size as usize) as u64; let mut vfd_shm = SharedMemory::new(Some(CStr::from_bytes_with_nul(b"virtwl_alloc\0") .unwrap())) .map_err(WlError::NewAlloc)?; @@ -728,7 +722,7 @@ impl WlVfd { // fails, we assume it's a socket or pipe with read/write semantics. match fd.seek(SeekFrom::End(0)) { Ok(fd_size) => { - let size = round_to_page_size(fd_size); + let size = round_up_to_page_size(fd_size as usize) as u64; let register_response = vm.request(VmRequest::RegisterMemory(MaybeOwnedFd::Borrowed(fd.as_raw_fd()), size as usize))?; |