[Xen-devel] [PATCH] x86: Misc trivial cleanup of bootsym_phys()

Andrew Cooper posted 1 patch 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/20190909104407.13666-1-andrew.cooper3@citrix.com
xen/arch/x86/smpboot.c | 4 +---
xen/arch/x86/tboot.c   | 9 +++------
2 files changed, 4 insertions(+), 9 deletions(-)

[Xen-devel] [PATCH] x86: Misc trivial cleanup of bootsym_phys()

Posted by Andrew Cooper 1 week ago
In smpboot, there is no need to abstract setup_trampoline() away.  Drop the
define and use bootsym_phys() directly.

In tboot, the 3 size calculations are invariant of their bootsym_phys()/__pa()
transformations, but the compiler can't tell this.  Drop the tranformations,
which simplifies the compiled function.

  add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-134 (-134)
  Function                                     old     new   delta
  tboot_shutdown                               620     486    -134
  Total: Before=3337042, After=3336908, chg -0.00%

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Lukasz Hawrylko <lukasz.hawrylko@linux.intel.com>
---
 xen/arch/x86/smpboot.c | 4 +---
 xen/arch/x86/tboot.c   | 9 +++------
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 911416c1e1..6904ef5771 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -46,8 +46,6 @@
 #include <asm/tboot.h>
 #include <mach_apic.h>
 
-#define setup_trampoline()    (bootsym_phys(trampoline_realmode_entry))
-
 unsigned long __read_mostly trampoline_phys;
 
 /* representing HT siblings of each logical CPU */
@@ -545,7 +543,7 @@ static int do_boot_cpu(int apicid, int cpu)
 
     booting_cpu = cpu;
 
-    start_eip = setup_trampoline();
+    start_eip = bootsym_phys(trampoline_realmode_entry);
 
     /* start_eip needs be page aligned, and below the 1M boundary. */
     if ( start_eip & ~0xff000 )
diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
index 8263f24009..3e828fe204 100644
--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -370,16 +370,13 @@ void tboot_shutdown(uint32_t shutdown_type)
         g_tboot_shared->num_mac_regions = 3;
         /* S3 resume code (and other real mode trampoline code) */
         g_tboot_shared->mac_regions[0].start = bootsym_phys(trampoline_start);
-        g_tboot_shared->mac_regions[0].size = bootsym_phys(trampoline_end) -
-                                              bootsym_phys(trampoline_start);
+        g_tboot_shared->mac_regions[0].size = trampoline_end - trampoline_start;
         /* hypervisor .text + .rodata */
         g_tboot_shared->mac_regions[1].start = (uint64_t)__pa(&_stext);
-        g_tboot_shared->mac_regions[1].size = __pa(&__2M_rodata_end) -
-                                              __pa(&_stext);
+        g_tboot_shared->mac_regions[1].size = __2M_rodata_end - _stext;
         /* hypervisor .data + .bss */
         g_tboot_shared->mac_regions[2].start = (uint64_t)__pa(&__2M_rwdata_start);
-        g_tboot_shared->mac_regions[2].size = __pa(&__2M_rwdata_end) -
-                                              __pa(&__2M_rwdata_start);
+        g_tboot_shared->mac_regions[2].size = __2M_rwdata_end - __2M_rwdata_start;
 
         /*
          * MAC domains and other Xen memory
-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH] x86: Misc trivial cleanup of bootsym_phys()

Posted by Jan Beulich 1 week ago
On 09.09.2019 12:44, Andrew Cooper wrote:
> In smpboot, there is no need to abstract setup_trampoline() away.  Drop the
> define and use bootsym_phys() directly.
> 
> In tboot, the 3 size calculations are invariant of their bootsym_phys()/__pa()
> transformations, but the compiler can't tell this.  Drop the tranformations,
> which simplifies the compiled function.
> 
>   add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-134 (-134)
>   Function                                     old     new   delta
>   tboot_shutdown                               620     486    -134
>   Total: Before=3337042, After=3336908, chg -0.00%
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel