Changes in uspace/drv/bus/usb/uhci/utils/malloc32.h [fbcdeb8:75f9dcd] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/utils/malloc32.h
rfbcdeb8 r75f9dcd 54 54 if (addr == NULL) 55 55 return 0; 56 56 57 57 uintptr_t result; 58 58 const int ret = as_get_physical_mapping(addr, &result); 59 59 if (ret != EOK) 60 60 return 0; 61 62 return result; 61 return (result | ((uintptr_t)addr & 0xfff)); 63 62 } 64 63 /*----------------------------------------------------------------------------*/ … … 98 97 static inline void * get_page(void) 99 98 { 100 void *address = as_area_create((void *) -1, UHCI_REQUIRED_PAGE_SIZE, 101 AS_AREA_READ | AS_AREA_WRITE); 102 if (address == (void *) -1) 99 void *free_address = as_get_mappable_page(UHCI_REQUIRED_PAGE_SIZE); 100 if (free_address == 0) 103 101 return NULL; 104 102 void *address = as_area_create(free_address, UHCI_REQUIRED_PAGE_SIZE, 103 AS_AREA_READ | AS_AREA_WRITE); 104 if (address != free_address) 105 return NULL; 105 106 return address; 106 107 }
Note:
See TracChangeset
for help on using the changeset viewer.