xen-devel
[Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_o
To: |
Jeremy Fitzhardinge <jeremy@xxxxxxxx> |
Subject: |
[Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions |
From: |
Zachary Amsden <zach@xxxxxxxxxx> |
Date: |
Tue, 13 Feb 2007 17:06:42 -0800 |
Cc: |
Andrew Morton <akpm@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxx, Rusty Russell <rusty@xxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Chris Wright <chrisw@xxxxxxxxxxxx>, Andi Kleen <ak@xxxxxx> |
Delivery-date: |
Tue, 13 Feb 2007 17:06:10 -0800 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxx |
In-reply-to: |
<20070213221830.238235953@xxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<20070213221729.772002682@xxxxxxxx> <20070213221830.238235953@xxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Thunderbird 1.5.0.9 (X11/20061206) |
Jeremy Fitzhardinge wrote:
Wrap the paravirt_ops members we want to export in wrapper functions.
Since we binary-patch the critical ones, this doesn't make a speed
impact.
I moved drm_follow_page into the core, to avoid having to wrap the
various pte ops. Unlining kernel_fpu_end and using that in the RAID6
code would remove the need to export clts/read_cr0/write_cr0 too.
Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
Signed-off-by: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx>
===================================================================
--- a/arch/i386/kernel/paravirt.c
+++ b/arch/i386/kernel/paravirt.c
@@ -596,6 +596,123 @@ static int __init print_banner(void)
return 0;
}
core_initcall(print_banner);
+
+unsigned long paravirt_save_flags(void)
+{
+ return paravirt_ops.save_fl();
+}
+EXPORT_SYMBOL(paravirt_save_flags);
+
+void paravirt_restore_flags(unsigned long flags)
+{
+ paravirt_ops.restore_fl(flags);
+}
+EXPORT_SYMBOL(paravirt_restore_flags);
+
+void paravirt_irq_disable(void)
+{
+ paravirt_ops.irq_disable();
+}
+EXPORT_SYMBOL(paravirt_irq_disable);
+
+void paravirt_irq_enable(void)
+{
+ paravirt_ops.irq_enable();
+}
+EXPORT_SYMBOL(paravirt_irq_enable);
This turned out really hideous looking to me. Can't we split the struct
into GPL'd and non-GPL'd functions instead? We still have the same
granularity, and none of this function call to an indirect function call
nonsense.
Zach
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: [Xen-devel] Re: [patch 05/21] Xen-paravirt: paravirt_ops: allocate a fixmap slot, (continued)
[Xen-devel] [patch 09/21] Xen-paravirt: add hooks to intercept mm creation and destruction, Jeremy Fitzhardinge
[Xen-devel] [patch 07/21] Xen-paravirt: Allow paravirt backend to choose kernel PMD sharing, Jeremy Fitzhardinge
[Xen-devel] [patch 06/21] Xen-paravirt: remove ctor for pgd cache, Jeremy Fitzhardinge
[Xen-devel] [patch 11/21] Xen-paravirt: Add apply_to_page_range() which applies a function to a pte range., Jeremy Fitzhardinge
[Xen-devel] [patch 12/21] Xen-paravirt: Allocate and free vmalloc areas, Jeremy Fitzhardinge
[Xen-devel] [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Jeremy Fitzhardinge
- [Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions,
Zachary Amsden <=
- [Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Jeremy Fitzhardinge
- [Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Zachary Amsden
- [Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Jeremy Fitzhardinge
- [Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Zachary Amsden
- [Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Jeremy Fitzhardinge
[Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Rusty Russell
[Xen-devel] Re: [patch 10/21] Xen-paravirt: Name: dont export paravirt_ops structure, do individual functions, Christoph Hellwig
[Xen-devel] [patch 14/21] Xen-paravirt: Add XEN config options and disable unsupported config options., Jeremy Fitzhardinge
|
|
|