[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 2/8] block: Support providing LCHS from user
From: |
Sam Eiderman |
Subject: |
[PATCH v7 2/8] block: Support providing LCHS from user |
Date: |
Wed, 25 Sep 2019 14:06:33 +0300 |
From: Sam Eiderman <address@hidden>
Add logical geometry variables to BlockConf.
A user can now supply "lcyls", "lheads" & "lsecs" for any HD device
that supports CHS ("cyls", "heads", "secs").
These devices include:
* ide-hd
* scsi-hd
* virtio-blk-pci
In future commits we will use the provided LCHS and pass it to the BIOS
through fw_cfg to be supplied using INT13 routines.
Reviewed-by: Karl Heubaum <address@hidden>
Reviewed-by: Arbel Moshe <address@hidden>
Signed-off-by: Sam Eiderman <address@hidden>
---
include/hw/block/block.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/hw/block/block.h b/include/hw/block/block.h
index fd55a30bca..d7246f3862 100644
--- a/include/hw/block/block.h
+++ b/include/hw/block/block.h
@@ -26,6 +26,7 @@ typedef struct BlockConf {
uint32_t discard_granularity;
/* geometry, not all devices use this */
uint32_t cyls, heads, secs;
+ uint32_t lcyls, lheads, lsecs;
OnOffAuto wce;
bool share_rw;
BlockdevOnError rerror;
@@ -65,7 +66,10 @@ static inline unsigned int get_physical_block_exp(BlockConf
*conf)
#define DEFINE_BLOCK_CHS_PROPERTIES(_state, _conf) \
DEFINE_PROP_UINT32("cyls", _state, _conf.cyls, 0), \
DEFINE_PROP_UINT32("heads", _state, _conf.heads, 0), \
- DEFINE_PROP_UINT32("secs", _state, _conf.secs, 0)
+ DEFINE_PROP_UINT32("secs", _state, _conf.secs, 0), \
+ DEFINE_PROP_UINT32("lcyls", _state, _conf.lcyls, 0), \
+ DEFINE_PROP_UINT32("lheads", _state, _conf.lheads, 0), \
+ DEFINE_PROP_UINT32("lsecs", _state, _conf.lsecs, 0)
#define DEFINE_BLOCK_ERROR_PROPERTIES(_state, _conf) \
DEFINE_PROP_BLOCKDEV_ON_ERROR("rerror", _state, _conf.rerror, \
--
2.23.0.351.gc4317032e6-goog
- [PATCH v7 0/8] Add Qemu to SeaBIOS LCHS interface, Sam Eiderman, 2019/09/25
- [PATCH v7 1/8] block: Refactor macros - fix tabbing, Sam Eiderman, 2019/09/25
- [PATCH v7 2/8] block: Support providing LCHS from user,
Sam Eiderman <=
- [PATCH v7 3/8] bootdevice: Add interface to gather LCHS, Sam Eiderman, 2019/09/25
- [PATCH v7 4/8] scsi: Propagate unrealize() callback to scsi-hd, Sam Eiderman, 2019/09/25
- [PATCH v7 5/8] bootdevice: Gather LCHS from all relevant devices, Sam Eiderman, 2019/09/25
- [PATCH v7 6/8] bootdevice: Refactor get_boot_devices_list, Sam Eiderman, 2019/09/25
- [PATCH v7 7/8] bootdevice: FW_CFG interface for LCHS values, Sam Eiderman, 2019/09/25