From 64cf56f5cd6a85321651e58ac0bf8d15f8007cf8 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Mon, 21 Jun 2010 16:47:29 +0000 Subject: [PATCH] Force allocation of physical memory < 4 GB until the related TODOs are fixed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37201 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp | 4 +++- src/add-ons/kernel/bus_managers/usb/Stack.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp b/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp index 0872d3ccbe..fb424b102e 100644 --- a/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp +++ b/src/add-ons/kernel/bus_managers/usb/PhysicalMemoryAllocator.cpp @@ -75,7 +75,9 @@ PhysicalMemoryAllocator::PhysicalMemoryAllocator(const char *name, roundedSize = (roundedSize + B_PAGE_SIZE - 1) & ~(B_PAGE_SIZE - 1); fArea = create_area(fName, &fLogicalBase, B_ANY_KERNEL_ADDRESS, - roundedSize, B_CONTIGUOUS, B_READ_AREA | B_WRITE_AREA); + roundedSize, B_32_BIT_MEMORY, B_READ_AREA | B_WRITE_AREA); + // TODO: Use B_CONTIGUOUS when the TODOs regarding 64 bit physical + // addresses are fixed (if possible). if (fArea < B_OK) { TRACE_ERROR(("PMA: failed to create memory area\n")); return; diff --git a/src/add-ons/kernel/bus_managers/usb/Stack.cpp b/src/add-ons/kernel/bus_managers/usb/Stack.cpp index 689b346e52..3ce19c4045 100644 --- a/src/add-ons/kernel/bus_managers/usb/Stack.cpp +++ b/src/add-ons/kernel/bus_managers/usb/Stack.cpp @@ -300,7 +300,9 @@ Stack::AllocateArea(void **logicalAddress, void **physicalAddress, size_t size, void *logAddress; size = (size + B_PAGE_SIZE - 1) & ~(B_PAGE_SIZE - 1); area_id area = create_area(name, &logAddress, B_ANY_KERNEL_ADDRESS, size, - B_CONTIGUOUS, 0); + B_32_BIT_MEMORY, 0); + // TODO: Use B_CONTIGUOUS when the TODOs regarding 64 bit physical + // addresses are fixed (if possible). if (area < B_OK) { TRACE_ERROR("couldn't allocate area %s\n", name);