|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2] iommu: Elaborate the usage of RMRR specification on the command line
As some users have suggested, elaborate the usage of RMRR specification
on the command line, and provide a usage example.
Also, always treat the specified page numbers as hexadecimal values.
Signed-off-by: Venu Busireddy <venu.busireddy@xxxxxxxxxx>
---
Changes in v2:
- Provide a better usage example.
- Treat input page numbers as hexadecimal values.
docs/misc/xen-command-line.markdown | 10 ++++++++++
xen/drivers/passthrough/vtd/dmar.c | 4 ++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/docs/misc/xen-command-line.markdown
b/docs/misc/xen-command-line.markdown
index 3acbb33..a035c3f 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -1406,6 +1406,16 @@ If segment of the first device is not specified, segment
zero will be used.
If other segments are not specified, first device segment will be used.
If a segment is specified for other than the first device and it does not match
the one specified for the first one, an error will be reported.
+
+'start' and 'end' values are page numbers (not full physical addresses),
+in hexadecimal format (can optionally be preceded by "0x").
+
+Usage example: If device 0:0:1d.0 requires one page (0xd5d45) to be
+reserved, and device 0:0:1a.0 requires three pages (0xd5d46 thru 0xd5d48)
+to be reserved, one usage would be:
+
+rmrr=d5d45=0:0:1d.0;0xd5d46-0xd5d48=0:0:1a.0
+
Note: grub2 requires to escape or use quotations if special characters are
used,
namely ';', refer to the grub2 documentation if multiple ranges are specified.
diff --git a/xen/drivers/passthrough/vtd/dmar.c
b/xen/drivers/passthrough/vtd/dmar.c
index 9484f3b..436a533 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -1097,13 +1097,13 @@ static void __init parse_rmrr_param(const char *str)
unsigned long start, end;
do {
- start = simple_strtoul(cur = s, &s, 0);
+ start = simple_strtoul(cur = s, &s, 16);
if ( cur == s )
break;
if ( *s == '-' )
{
- end = simple_strtoul(cur = s + 1, &s, 0);
+ end = simple_strtoul(cur = s + 1, &s, 16);
if ( cur == s )
break;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |