From 513c520bd6d96375e99b23aaa460bf3b67f3e16f Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sun, 6 May 2018 19:09:22 +0100 Subject: [PATCH] mbr: add hook for dynamic swap location --- Kernel/dev/mbr.c | 7 ++++++- Kernel/dev/mbr.h | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Kernel/dev/mbr.c b/Kernel/dev/mbr.c index 38f51872..28f1ccb9 100644 --- a/Kernel/dev/mbr.c +++ b/Kernel/dev/mbr.c @@ -55,7 +55,8 @@ void mbr_parse(char letter) blk_op.lba = 0; for(i=0; ipartition[i].type_chs_last[0]){ + uint8_t t = br->partition[i].type_chs_last[0]; + switch(t) { #ifdef CONFIG_GPT case MBR_GPT_PROTECTED_TYPE: // TODO assert next is zero (unless hybrid...) @@ -84,6 +85,10 @@ void mbr_parse(char letter) blk_op.blkdev->lba_count[next] = le32_to_cpu(br->partition[i].lba_count); next++; kprintf("hd%c%d ", letter, next); +#ifdef CONFIG_DYNAMIC_SWAP + if(t == FUZIX_SWAP) + platform_swap_found(next - 1); +#endif } } seen++; diff --git a/Kernel/dev/mbr.h b/Kernel/dev/mbr.h index 4aaa1b25..227c8d00 100644 --- a/Kernel/dev/mbr.h +++ b/Kernel/dev/mbr.h @@ -21,4 +21,6 @@ typedef struct __packed { void mbr_parse(char letter); +#define FUZIX_SWAP 0x7F + #endif /* __MBR_DOT_H__ */ -- 2.34.1