Boot directly from ATA drive without going through the process_op_32()
function. Additionally PA-RISC can read/write chunks from disk which
are bigger than 64kb, so don't abort when this is tried.

Signed-off-by: Helge Deller <del...@gmx.de>
---
 src/block.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/block.c b/src/block.c
index ec02d76..1b85154 100644
--- a/src/block.c
+++ b/src/block.c
@@ -544,6 +544,10 @@ static int
 process_op_both(struct disk_op_s *op)
 {
     switch (GET_FLATPTR(op->drive_fl->type)) {
+#if CONFIG_PARISC
+    case DTYPE_ATA:
+        return ata_process_op(op);
+#endif
     case DTYPE_ATA_ATAPI:
         return ata_atapi_process_op(op);
     case DTYPE_USB:
@@ -624,7 +628,9 @@ process_op(struct disk_op_s *op)
             , op->count, op->command);

     int ret, origcount = op->count;
-    if (origcount * GET_FLATPTR(op->drive_fl->blksize) > 64*1024) {
+    /* Only x86 arch has problems with large reads/writes greater than 64kb */
+    if (CONFIG_X86 &&
+       (origcount * GET_FLATPTR(op->drive_fl->blksize) > 64*1024)) {
         op->count = 0;
         return DISK_RET_EBOUNDARY;
     }
--
2.29.2
_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to