|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] xen/virtual-region: Rename the start/end fields
commit 989556c6f8ca080f5f202417af97d1188b9ba52a
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Tue Mar 5 11:28:33 2024 +0000
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Thu Mar 7 14:24:42 2024 +0000
xen/virtual-region: Rename the start/end fields
... to text_{start,end}. We're about to introduce another start/end pair.
Despite it's name, struct virtual_region has always been a module-ish
description. Call this out specifically.
As minor cleanup, replace ROUNDUP(x, PAGE_SIZE) with the more concise
PAGE_ALIGN() ahead of duplicating the example.
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Reviewed-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
---
xen/common/livepatch.c | 4 ++--
xen/common/virtual_region.c | 19 ++++++++++---------
xen/include/xen/virtual_region.h | 11 +++++++++--
3 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 5a7d5b7be0..888beb2732 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -785,8 +785,8 @@ static int prepare_payload(struct payload *payload,
region = &payload->region;
region->symbols_lookup = livepatch_symbols_lookup;
- region->start = payload->text_addr;
- region->end = payload->text_addr + payload->text_size;
+ region->text_start = payload->text_addr;
+ region->text_end = payload->text_addr + payload->text_size;
/* Optional sections. */
for ( i = 0; i < BUGFRAME_NR; i++ )
diff --git a/xen/common/virtual_region.c b/xen/common/virtual_region.c
index cefef3e47e..b74030d700 100644
--- a/xen/common/virtual_region.c
+++ b/xen/common/virtual_region.c
@@ -11,15 +11,15 @@
static struct virtual_region core = {
.list = LIST_HEAD_INIT(core.list),
- .start = _stext,
- .end = _etext,
+ .text_start = _stext,
+ .text_end = _etext,
};
/* Becomes irrelevant when __init sections are cleared. */
static struct virtual_region core_init __initdata = {
.list = LIST_HEAD_INIT(core_init.list),
- .start = _sinittext,
- .end = _einittext,
+ .text_start = _sinittext,
+ .text_end = _einittext,
};
/*
@@ -39,7 +39,8 @@ const struct virtual_region *find_text_region(unsigned long
addr)
rcu_read_lock(&rcu_virtual_region_lock);
list_for_each_entry_rcu ( iter, &virtual_region_list, list )
{
- if ( (void *)addr >= iter->start && (void *)addr < iter->end )
+ if ( (void *)addr >= iter->text_start &&
+ (void *)addr < iter->text_end )
{
region = iter;
break;
@@ -88,8 +89,8 @@ void relax_virtual_region_perms(void)
rcu_read_lock(&rcu_virtual_region_lock);
list_for_each_entry_rcu( region, &virtual_region_list, list )
- modify_xen_mappings_lite((unsigned long)region->start,
- ROUNDUP((unsigned long)region->end,
PAGE_SIZE),
+ modify_xen_mappings_lite((unsigned long)region->text_start,
+ PAGE_ALIGN((unsigned long)region->text_end),
PAGE_HYPERVISOR_RWX);
rcu_read_unlock(&rcu_virtual_region_lock);
}
@@ -100,8 +101,8 @@ void tighten_virtual_region_perms(void)
rcu_read_lock(&rcu_virtual_region_lock);
list_for_each_entry_rcu( region, &virtual_region_list, list )
- modify_xen_mappings_lite((unsigned long)region->start,
- ROUNDUP((unsigned long)region->end,
PAGE_SIZE),
+ modify_xen_mappings_lite((unsigned long)region->text_start,
+ PAGE_ALIGN((unsigned long)region->text_end),
PAGE_HYPERVISOR_RX);
rcu_read_unlock(&rcu_virtual_region_lock);
}
diff --git a/xen/include/xen/virtual_region.h b/xen/include/xen/virtual_region.h
index d053620711..442a45bf1f 100644
--- a/xen/include/xen/virtual_region.h
+++ b/xen/include/xen/virtual_region.h
@@ -9,11 +9,18 @@
#include <xen/list.h>
#include <xen/symbols.h>
+/*
+ * Despite it's name, this is a module(ish) description.
+ *
+ * There's one region for the runtime .text/etc, one region for .init during
+ * boot only, and one region per livepatch.
+ */
struct virtual_region
{
struct list_head list;
- const void *start; /* Virtual address start. */
- const void *end; /* Virtual address end. */
+
+ const void *text_start; /* .text virtual address start. */
+ const void *text_end; /* .text virtual address end. */
/* If this is NULL the default lookup mechanism is used. */
symbols_lookup_t *symbols_lookup;
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |