es1370: Change physical addresses to phys_addr_t.

Solves a TODO and some pointer to integer cast warnings.
This commit is contained in:
Michael Lotz
2020-08-17 21:05:37 +02:00
parent 5217ff8fa7
commit 4f11ee9f78
3 changed files with 10 additions and 11 deletions
@@ -40,7 +40,7 @@
typedef struct _es1370_mem {
LIST_ENTRY(_es1370_mem) next;
void *log_base;
void *phy_base;
phys_addr_t phy_base;
area_id area;
size_t size;
} es1370_mem;
@@ -65,9 +65,8 @@ round_to_pagesize(uint32 size)
area_id
alloc_mem(void **phy, void **log, size_t size, const char *name)
alloc_mem(phys_addr_t *phy, void **log, size_t size, const char *name)
{
// TODO: phy should be phys_addr_t*!
physical_entry pe;
void * logadr;
area_id areaid;
@@ -94,7 +93,7 @@ alloc_mem(void **phy, void **log, size_t size, const char *name)
if (log)
*log = logadr;
if (phy)
*phy = (void*)(addr_t)pe.address;
*phy = pe.address;
LOG(("area = %d, size = %d, log = %#08X, phy = %#08X\n", areaid, size,
logadr, pe.address));
return areaid;
@@ -107,10 +106,10 @@ alloc_mem(void **phy, void **log, size_t size, const char *name)
* below does work, and I can't test if using B_ANY_KERNEL_ADDRESS also works.
*/
area_id
map_mem(void **log, void *phy, size_t size, const char *name)
map_mem(void **log, phys_addr_t phy, size_t size, const char *name)
{
uint32 offset;
void *phyadr;
phys_addr_t phyadr;
void *mapadr;
area_id area;
@@ -119,9 +118,9 @@ map_mem(void **log, void *phy, size_t size, const char *name)
offset = (uint32)phy & (B_PAGE_SIZE - 1);
phyadr = phy - offset;
size = round_to_pagesize(size + offset);
area = map_physical_memory(name, (addr_t)phyadr, size,
B_ANY_KERNEL_BLOCK_ADDRESS, B_READ_AREA | B_WRITE_AREA, &mapadr);
*log = mapadr + offset;
area = map_physical_memory(name, phyadr, size, B_ANY_KERNEL_BLOCK_ADDRESS,
B_READ_AREA | B_WRITE_AREA, &mapadr);
*log = (uint8 *)mapadr + offset;
LOG(("physical = %p, logical = %p, offset = %#x, phyadr = %p, mapadr = %p, size = %#x, area = %#x\n",
phy, *log, offset, phyadr, mapadr, size, area));
@@ -30,8 +30,8 @@
#include <KernelExport.h>
area_id alloc_mem(void **phy, void **log, size_t size, const char *name);
area_id map_mem(void **log, void *phy, size_t size, const char *name);
area_id alloc_mem(phys_addr_t *phy, void **log, size_t size, const char *name);
area_id map_mem(void **log, phys_addr_t phy, size_t size, const char *name);
cpu_status lock(void);
void unlock(cpu_status status);