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 { typedef struct _es1370_mem {
LIST_ENTRY(_es1370_mem) next; LIST_ENTRY(_es1370_mem) next;
void *log_base; void *log_base;
void *phy_base; phys_addr_t phy_base;
area_id area; area_id area;
size_t size; size_t size;
} es1370_mem; } es1370_mem;
@@ -65,9 +65,8 @@ round_to_pagesize(uint32 size)
area_id 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; physical_entry pe;
void * logadr; void * logadr;
area_id areaid; area_id areaid;
@@ -94,7 +93,7 @@ alloc_mem(void **phy, void **log, size_t size, const char *name)
if (log) if (log)
*log = logadr; *log = logadr;
if (phy) if (phy)
*phy = (void*)(addr_t)pe.address; *phy = pe.address;
LOG(("area = %d, size = %d, log = %#08X, phy = %#08X\n", areaid, size, LOG(("area = %d, size = %d, log = %#08X, phy = %#08X\n", areaid, size,
logadr, pe.address)); logadr, pe.address));
return areaid; 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. * below does work, and I can't test if using B_ANY_KERNEL_ADDRESS also works.
*/ */
area_id 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; uint32 offset;
void *phyadr; phys_addr_t phyadr;
void *mapadr; void *mapadr;
area_id area; 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); offset = (uint32)phy & (B_PAGE_SIZE - 1);
phyadr = phy - offset; phyadr = phy - offset;
size = round_to_pagesize(size + offset); size = round_to_pagesize(size + offset);
area = map_physical_memory(name, (addr_t)phyadr, size, area = map_physical_memory(name, phyadr, size, B_ANY_KERNEL_BLOCK_ADDRESS,
B_ANY_KERNEL_BLOCK_ADDRESS, B_READ_AREA | B_WRITE_AREA, &mapadr); B_READ_AREA | B_WRITE_AREA, &mapadr);
*log = mapadr + offset; *log = (uint8 *)mapadr + offset;
LOG(("physical = %p, logical = %p, offset = %#x, phyadr = %p, mapadr = %p, size = %#x, area = %#x\n", LOG(("physical = %p, logical = %p, offset = %#x, phyadr = %p, mapadr = %p, size = %#x, area = %#x\n",
phy, *log, offset, phyadr, mapadr, size, area)); phy, *log, offset, phyadr, mapadr, size, area));
@@ -30,8 +30,8 @@
#include <KernelExport.h> #include <KernelExport.h>
area_id alloc_mem(void **phy, void **log, 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, void *phy, 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); cpu_status lock(void);
void unlock(cpu_status status); void unlock(cpu_status status);