aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2024-01-02 23:20:58 +0100
committerHelge Deller <deller@gmx.de>2024-01-04 18:48:58 +0100
commit5b053e8ad63815c318f19642d25ae17160c280b5 (patch)
tree9cc135605bbf7a9c463e2d89001bf45d6cffa90f
parent52d63d583517a35b10b401e101f537643d88f5b2 (diff)
downloadseabios-hppa-5b053e8ad63815c318f19642d25ae17160c280b5.zip
seabios-hppa-5b053e8ad63815c318f19642d25ae17160c280b5.tar.gz
seabios-hppa-5b053e8ad63815c318f19642d25ae17160c280b5.tar.bz2
block/ata: Fixes to allow building 64-bit firmware
Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r--src/block.c2
-rw-r--r--src/farptr.h5
-rw-r--r--src/hw/ata.c6
3 files changed, 7 insertions, 6 deletions
diff --git a/src/block.c b/src/block.c
index ed08bb7..f83d3fc 100644
--- a/src/block.c
+++ b/src/block.c
@@ -477,7 +477,7 @@ fill_ata_edd(struct segoff_s edd, struct drive_s *drive_gf)
ifpath = edd_pci_path(bdf, channel);
}
return fill_generic_edd(
- edd, drive_gf, SEGOFF(SEG_LOW, (u32)&DefaultDPTE).segoff
+ edd, drive_gf, SEGOFF(SEG_LOW, (unsigned long)&DefaultDPTE).segoff
, bustype | EDD_ATA, ifpath, slave);
}
diff --git a/src/farptr.h b/src/farptr.h
index de6331a..aa86b9b 100644
--- a/src/farptr.h
+++ b/src/farptr.h
@@ -137,8 +137,9 @@ DECL_SEGFUNCS(SS)
#define FLATPTR_TO_OFFSET(p) (((u32)(p)) & 0xf)
#define MAKE_FLATPTR(seg,off) ((void*)(((u32)(seg)<<4)+(u32)(off)))
#elif CONFIG_PARISC
-#define FLATPTR_TO_SEG(p) (((u32)(p)) >> 16)
-#define FLATPTR_TO_OFFSET(p) (((u32)(p)) & 0xffff)
+#define uintptr_t unsigned long
+#define FLATPTR_TO_SEG(p) (((uintptr_t)(p)) >> 16)
+#define FLATPTR_TO_OFFSET(p) (((uintptr_t)(p)) & 0xffff)
#define MAKE_FLATPTR(seg,off) ((void*)(unsigned long)(off))
#endif
diff --git a/src/hw/ata.c b/src/hw/ata.c
index 5616360..808aa56 100644
--- a/src/hw/ata.c
+++ b/src/hw/ata.c
@@ -361,7 +361,7 @@ ata_try_dma(struct disk_op_s *op, int iswrite, int blocksize)
if (! CONFIG_ATA_DMA)
return -1;
ASSERT16(); // behind ATA_DMA, needed on parisc to boot via ata
- u32 dest = (u32)op->buf_fl;
+ unsigned long dest = (unsigned long)op->buf_fl;
if (dest & 1)
// Need minimum alignment of 1.
return -1;
@@ -392,7 +392,7 @@ ata_try_dma(struct disk_op_s *op, int iswrite, int blocksize)
if (!bytes)
// Last descriptor.
count |= 1<<31;
- dprintf(16, "dma@%p: %08x %08x\n", dma, dest, count);
+ dprintf(16, "dma@%p: %08lx %08x\n", dma, dest, count);
dest += count;
SET_LOWFLAT(dma->count, count);
dma++;
@@ -842,7 +842,7 @@ powerup_await_non_bsy(portaddr_t base)
}
yield();
}
- dprintf(6, "powerup iobase=%x st=%x\n", base, status);
+ dprintf(6, "powerup iobase=%lx st=%x\n", base, status);
return status;
}