<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel about="http://permalink.gmane.org/gmane.linux.ports.ia64">
    <title>gmane.linux.ports.ia64</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19817"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19816"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19815"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19814"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19813"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19812"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19811"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19810"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19809"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19807"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19806"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19805"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19804"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19803"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19802"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19801"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19800"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19799"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19798"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ia64/19797"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19817">
    <title>[patch 2/2] arch/ia64: eliminate NULL test and memset after alloc_bootmem</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19817</link>
    <description>From: Julia Lawall &lt;julia&lt; at &gt;diku.dk&gt;

As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b,
alloc_bootmem and related functions never return NULL and always return a
zeroed region of memory.  Thus a NULL test or memset after calls to these
functions is unnecessary.

This was fixed using the following semantic patch.
(http://www.emn.fr/x-info/coccinelle/)

// &lt;smpl&gt;
&lt; at &gt;&lt; at &gt;
expression E;
statement S;
&lt; at &gt;&lt; at &gt;

E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...)
... when != E
(
- BUG_ON (E == NULL);
|
- if (E == NULL) S
)

&lt; at &gt;&lt; at &gt;
expression E,E1;
&lt; at &gt;&lt; at &gt;

E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\|alloc_bootmem_node\|alloc_bootmem_low_pages_node\|alloc_bootmem_pages_node\)(...)
... when != E
- memset(E,0,E1);
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia&lt; at &gt;diku.dk&gt;
Cc: "Luck, Tony" &lt;tony.luck&lt; at &gt;intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm&lt; at &gt;linux-foundation.</description>
    <dc:creator>akpm&lt; at &gt;linux-foundation.org</dc:creator>
    <dc:date>2008-12-01T22:18:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19816">
    <title>[patch 1/2] ia64: use the new byteorder headers</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19816</link>
    <description>From: Harvey Harrison &lt;harvey.harrison&lt; at &gt;gmail.com&gt;

Signed-off-by: Harvey Harrison &lt;harvey.harrison&lt; at &gt;gmail.com&gt;
Cc: "Luck, Tony" &lt;tony.luck&lt; at &gt;intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm&lt; at &gt;linux-foundation.org&gt;
---

 arch/ia64/include/asm/byteorder.h |   26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

diff -puN arch/ia64/include/asm/byteorder.h~ia64-use-the-new-byteorder-headers arch/ia64/include/asm/byteorder.h
--- a/arch/ia64/include/asm/byteorder.h~ia64-use-the-new-byteorder-headers
+++ a/arch/ia64/include/asm/byteorder.h
&lt; at &gt;&lt; at &gt; -10,33 +10,29 &lt; at &gt;&lt; at &gt;
 #include &lt;asm/intrinsics.h&gt;
 #include &lt;linux/compiler.h&gt;
 
-static __inline__ __attribute_const__ __u64
-__ia64_swab64 (__u64 x)
+#define __LITTLE_ENDIAN
+
+static inline __attribute_const__ __u64 __arch_swab64(__u64 x)
 {
 __u64 result;
 
 result = ia64_mux1(x, ia64_mux1_rev);
 return result;
 }
+#define __arch_swab64 __arch_swab64
 
-static __inline__ __attribute_const__ __u32
-__ia64_swab32 (__u32 x)
+static inline __attribute_const</description>
    <dc:creator>akpm&lt; at &gt;linux-foundation.org</dc:creator>
    <dc:date>2008-12-01T22:18:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19815">
    <title>[mmotm][PATCH] fix arch/ia64/kernel/msi_ia64.c warning</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19815</link>
    <description>fix following warning.

  arch/ia64/kernel/msi_ia64.c:145: warning: initialization from incompatible pointer type

Signed-off-by: KOSAKI Motohiro &lt;kosaki.motohiro&lt; at &gt;jp.fujitsu.com&gt;
CC: Rusty Russell &lt;rusty&lt; at &gt;rustcorp.com.au&gt;
CC: Mike Travis &lt;travis&lt; at &gt;sgi.com&gt;
CC: "Luck, Tony" &lt;tony.luck&lt; at &gt;intel.com&gt;
---
 arch/ia64/kernel/msi_ia64.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Index: b/arch/ia64/kernel/msi_ia64.c
===================================================================
--- a/arch/ia64/kernel/msi_ia64.c
+++ b/arch/ia64/kernel/msi_ia64.c
&lt; at &gt;&lt; at &gt; -49,11 +49,12 &lt; at &gt;&lt; at &gt;
 static struct irq_chipia64_msi_chip;
 
 #ifdef CONFIG_SMP
-static void ia64_set_msi_irq_affinity(unsigned int irq, cpumask_t cpu_mask)
+static void ia64_set_msi_irq_affinity(unsigned int irq,
+      const cpumask_t *cpu_mask)
 {
 struct msi_msg msg;
 u32 addr, data;
-int cpu = first_cpu(cpu_mask);
+int cpu = first_cpu(*cpu_mask);
 
 if (!cpu_online(cpu))
 return;



--
To unsubscribe from this list: send the line "unsubscrib</description>
    <dc:creator>KOSAKI Motohiro</dc:creator>
    <dc:date>2008-12-01T03:04:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19814">
    <title>Re: [PATCH 0/5] ia64/pv_ops, xen: binary patch optimization</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19814</link>
    <description>Hi Tony.

I'd like to merge those patches and the other xen domU optimization
patches at the next merge window. i.e. for 2.6.29.
What do you think?
I think that they are just enhancements of the already merged patches
or ia64 porting from x86 paravirt techniques and that their
quality is enough for merge. Although people want some twist,
I believe they would be minor.

thanks,

On Tue, Nov 25, 2008 at 10:03:50PM +0900, Isaku Yamahata wrote:

</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-12-01T02:37:15</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19813">
    <title>[mmotm] fix arch/ia64/kernel/iosapic.c warning</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19813</link>
    <description>
patch against: mmotm 29 Nov 2008
applied after: linux-next.patch
==
fix following warnings.

arch/ia64/kernel/iosapic.c:708: warning: passing argument 2 of '__cpu_clear' from incompatible pointer type
arch/ia64/kernel/iosapic.c:711: warning: passing argument 1 of '__cpus_weight' from incompatible pointer type
arch/ia64/kernel/iosapic.c:719: warning: passing argument 1 of '__first_cpu' from incompatible pointer type
arch/ia64/kernel/iosapic.c:720: warning: passing argument 2 of '__next_cpu' from incompatible pointer type

Signed-off-by: KOSAKI Motohiro &lt;kosaki.motohiro&lt; at &gt;jp.fujitsu.com&gt;
CC: Zhang Xiantao &lt;xiantao.zhang&lt; at &gt;intel.com&gt;
CC: Avi Kivity &lt;avi&lt; at &gt;qumranet.com&gt;
CC: "Luck, Tony" &lt;tony.luck&lt; at &gt;intel.com&gt;
---
 arch/ia64/kernel/iosapic.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Index: b/arch/ia64/kernel/iosapic.c
===================================================================
--- a/arch/ia64/kernel/iosapic.c
+++ b/arch/ia64/kernel/iosapic.c
&lt; at &gt;&lt; at &gt; -695,7 +695,7 &lt; at &gt;&lt; at &gt; get_target_cpu (unsigned</description>
    <dc:creator>KOSAKI Motohiro</dc:creator>
    <dc:date>2008-12-01T02:01:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19812">
    <title>Re: [PATCH V2 2/3] Allow rwlocks to re-enable interrupts</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19812</link>
    <description>
Acked-by: Peter Zijlstra &lt;a.p.zijlstra&lt; at &gt;chello.nl&gt;

--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo&lt; at &gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Peter Zijlstra</dc:creator>
    <dc:date>2008-11-27T15:33:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19811">
    <title>Re: [PATCH V2 1/3] Factor out #ifdef's from kernel/spinlock.c to LOCK_CONTENDED_FLAGS</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19811</link>
    <description>
Acked-by: Peter Zijlstra &lt;a.p.zijlstra&lt; at &gt;chello.nl&gt;

Sorry, got lost in the inbox...

--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo&lt; at &gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>Peter Zijlstra</dc:creator>
    <dc:date>2008-11-27T15:32:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19810">
    <title>Re: [PATCH] ia64: SN specific version of dma_get_required_mask()</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19810</link>
    <description>
In the case of SN Altix, the return value (with my patch) will always
be 0xffffffffffffffffull. So, your check would work. And just as the
current code's ia64_platform_is("sn2") check would always return TRUE
on any SN2 system, so would your proposed use of dma_get_required_mask().

However, for SN2, memory size or location cannot be inferred from the
return value, as it has no affect on the returned value.
As Documentation/DMA-API.txt says:
    "This API returns the mask that the platform requires to
    operate efficiently."

And for SN2, this is always a 64 bit mask, irregardless of memory size,
location, etc.



OK, I must not be understanding something. check_crashkernel_memory()
appears to be coded to handle 3 or more platforms (sn2, uv, and others).



--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo&lt; at &gt;vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

</description>
    <dc:creator>John Keller</dc:creator>
    <dc:date>2008-11-25T20:50:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19809">
    <title>[PATCH 2/5] ia64/pv_ops: implement binary patching optimization for native.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19809</link>
    <description>implement binary patching optimization for pv_cpu_ops.
With this optimization, indirect call for pv_cpu_ops methods can be
converted into inline execution or direct call.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/intrinsics.h      |    6 +-
 arch/ia64/include/asm/paravirt.h        |    8 +
 arch/ia64/include/asm/paravirt_privop.h |  341 ++++++++++++++++++++-
 arch/ia64/kernel/Makefile               |    3 +-
 arch/ia64/kernel/paravirt.c             |  520 ++++++++++++++++++++++++++++++-
 arch/ia64/kernel/paravirtentry.S        |   43 ++--
 arch/ia64/kernel/setup.c                |    1 +
 7 files changed, 897 insertions(+), 25 deletions(-)

diff --git a/arch/ia64/include/asm/intrinsics.h b/arch/ia64/include/asm/intrinsics.h
index a3e44a5..fbe2ad9 100644
--- a/arch/ia64/include/asm/intrinsics.h
+++ b/arch/ia64/include/asm/intrinsics.h
&lt; at &gt;&lt; at &gt; -201,7 +201,11 &lt; at &gt;&lt; at &gt; extern long ia64_cmpxchg_called_with_bad_pointer (void);
 
 #ifndef __ASSEMBLY__
 #if defined(CONFIG_PARAVIRT) &amp;&amp; d</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:03:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19807">
    <title>[PATCH 1/5] ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19807</link>
    <description>add helper functions to support binary patching for paravirt_ops.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/paravirt_patch.h |  143 +++++++++
 arch/ia64/kernel/paravirt_patch.c      |  509 ++++++++++++++++++++++++++++++++
 arch/ia64/kernel/paravirtentry.S       |   58 ++++
 arch/ia64/kernel/vmlinux.lds.S         |   24 ++
 4 files changed, 734 insertions(+), 0 deletions(-)
 create mode 100644 arch/ia64/include/asm/paravirt_patch.h
 create mode 100644 arch/ia64/kernel/paravirt_patch.c

diff --git a/arch/ia64/include/asm/paravirt_patch.h b/arch/ia64/include/asm/paravirt_patch.h
new file mode 100644
index 0000000..23d4fbf
--- /dev/null
+++ b/arch/ia64/include/asm/paravirt_patch.h
&lt; at &gt;&lt; at &gt; -0,0 +1,143 &lt; at &gt;&lt; at &gt;
+/******************************************************************************
+ * Copyright (c) 2008 Isaku Yamahata &lt;yamahata at valinux co jp&gt;
+ *                    VA Linux Systems Japan K.K.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ *</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:03:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19806">
    <title>[PATCH 0/5] ia64/pv_ops, xen: binary patch optimization</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19806</link>
    <description>This patch set is for binary patch optimization for paravirt_ops.
The binary patch optimization is important on native case because
the paravirt_ops overhead can be reduced by converting indirect 
call into in-place execution or direct call.


The first patch imports helper functions which themselves doesn't interesting
things.
The second patch replaces the indirect function calls with a special
call written in gcc extended inline asm and introduces native methods.
The third patch introduces binary patch for kernel modules.
The forth patch suppress false positive warnings which were caused by
the previous patches.
The last patch implements xen methods.


For convenience the working full source is available from
http://people.valinux.co.jp/~yamahata/xen-ia64/for_eagl/linux-2.6-ia64-pv-ops.git/
branch: ia64-pv-ops-2008nov25-xen-ia64-optimized-domu-binary-patch

For the status of this patch series
http://wiki.xensource.com/xenwiki/XenIA64/UpstreamMerge

thanks,

Diffstat:
 arch/ia64/include/asm/intrinsics.h    </description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:03:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19805">
    <title>[PATCH 5/5] ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19805</link>
    <description>implemented xen binary patch for pv_cpu_ops.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/xen/privop.h |    4 +
 arch/ia64/xen/hypercall.S          |    2 +
 arch/ia64/xen/xen_pv_ops.c         |  667 ++++++++++++++++++++++++++++++++++++
 3 files changed, 673 insertions(+), 0 deletions(-)

diff --git a/arch/ia64/include/asm/xen/privop.h b/arch/ia64/include/asm/xen/privop.h
index 2261dda..e5fbaee 100644
--- a/arch/ia64/include/asm/xen/privop.h
+++ b/arch/ia64/include/asm/xen/privop.h
&lt; at &gt;&lt; at &gt; -82,8 +82,10 &lt; at &gt;&lt; at &gt; extern unsigned long xen_thash(unsigned long addr);
 extern unsigned long xen_get_cpuid(int index);
 extern unsigned long xen_get_pmd(int index);
 
+#ifndef ASM_SUPPORTED
 extern unsigned long xen_get_eflag(void);/* see xen_ia64_getreg */
 extern void xen_set_eflag(unsigned long);/* see xen_ia64_setreg */
+#endif
 
 /************************************************/
 /* Instructions paravirtualized for performance */
&lt; at &gt;&lt; at &gt; -108,6 +110,7 &lt; at &gt;&lt; at &gt; extern void xen_set_eflag(unsigned l</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:03:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19804">
    <title>[PATCH 3/5] ia64/pv_ops/bp/module: support binary patching for kernel module.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19804</link>
    <description>support binary patching for kernel module.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/module.h |    6 ++++++
 arch/ia64/kernel/module.c      |   32 ++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/arch/ia64/include/asm/module.h b/arch/ia64/include/asm/module.h
index d2da61e..908eaef 100644
--- a/arch/ia64/include/asm/module.h
+++ b/arch/ia64/include/asm/module.h
&lt; at &gt;&lt; at &gt; -16,6 +16,12 &lt; at &gt;&lt; at &gt; struct mod_arch_specific {
 struct elf64_shdr *got;/* global offset table */
 struct elf64_shdr *opd;/* official procedure descriptors */
 struct elf64_shdr *unwind;/* unwind-table section */
+#ifdef CONFIG_PARAVIRT
+struct elf64_shdr *paravirt_bundles;
+/* paravirt_alt_bundle_patch table */
+struct elf64_shdr *paravirt_insts;
+/* paravirt_alt_inst_patch table */
+#endif
 unsigned long gp;/* global-pointer for module */
 
 void *core_unw_table;/* core unwind-table cookie returned by unwinder */
diff --git a/arch/ia64/k</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:03:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19803">
    <title>[PATCH 11/13] ia64/pv_ops: move down __kernel_syscall_via_epc.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19803</link>
    <description>Move down __kernel_syscall_via_epc to the end of the page.
We want to paravirtualize only __kernel_syscall_via_epc because
it includes privileged instructions. Its paravirtualization increases
its symbols size.

On the other hand, each paravirtualized gate must have e symbols of
same value and size to native's because the page is mapped to GATE_ADDR
and GATE_ADDR + PERCPU_PAGE_SIZE and vmlinux is linked to those symbols.
Later to have the same symbol size, we pads NOPs at the end of
__kernel_syscall_via_epc. Move it after other functions to keep
symbols of other functions have same values and sizes.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/kernel/gate.S |  162 +++++++++++++++++++++++-----------------------
 1 files changed, 81 insertions(+), 81 deletions(-)

diff --git a/arch/ia64/kernel/gate.S b/arch/ia64/kernel/gate.S
index 74b1ccc..c957228 100644
--- a/arch/ia64/kernel/gate.S
+++ b/arch/ia64/kernel/gate.S
&lt; at &gt;&lt; at &gt; -48,87 +48,6 &lt; at &gt;&lt; at &gt; GLOBAL_ENTRY(__kernel_syscall_via_break)
 }
 END(__k</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19802">
    <title>[PATCH 12/13] ia64/pv_ops: paravirtualize gate.S.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19802</link>
    <description>paravirtualize gate.S.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/native/inst.h       |    5 +++++
 arch/ia64/include/asm/native/pvchk_inst.h |    3 +++
 arch/ia64/kernel/gate.S                   |   17 +++++++++++++----
 3 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/arch/ia64/include/asm/native/inst.h b/arch/ia64/include/asm/native/inst.h
index ad59fc6..d2d46ef 100644
--- a/arch/ia64/include/asm/native/inst.h
+++ b/arch/ia64/include/asm/native/inst.h
&lt; at &gt;&lt; at &gt; -166,6 +166,11 &lt; at &gt;&lt; at &gt;
 #define RSM_PSR_DT\
 rsm psr.dt
 
+#define RSM_PSR_BE_I(clob0, clob1)\
+rsm psr.be | psr.i\
+CLOBBER(clob0)\
+CLOBBER(clob1)
+
 #define SSM_PSR_DT_AND_SRLZ_I\
 ssm psr.dt\
 ;;\
diff --git a/arch/ia64/include/asm/native/pvchk_inst.h b/arch/ia64/include/asm/native/pvchk_inst.h
index 13b289e..8d72962 100644
--- a/arch/ia64/include/asm/native/pvchk_inst.h
+++ b/arch/ia64/include/asm/native/pvchk_inst.h
&lt; at &gt;&lt; at &gt; -251,6 +251,9 &lt; at &gt;&lt; at &gt;
 IS_RREG_CLOB(clob2)
 #define RSM_PSR_DT</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19801">
    <title>[PATCH 10/13] ia64/pv_ops/xen: define xen specific gate page.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19801</link>
    <description>define xen specific gate page.
At this phase bits in the gate page is same to native.
At the next phase, it will be paravirtualized.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/xen/patchlist.h |   38 +++++++++++++++++++++++++++++++++
 arch/ia64/kernel/vmlinux.lds.S        |    6 +++++
 arch/ia64/xen/Makefile                |   16 +++++++++++++-
 arch/ia64/xen/gate-data.S             |    3 ++
 arch/ia64/xen/xen_pv_ops.c            |   32 +++++++++++++++++++++++++++
 5 files changed, 94 insertions(+), 1 deletions(-)
 create mode 100644 arch/ia64/include/asm/xen/patchlist.h
 create mode 100644 arch/ia64/xen/gate-data.S

diff --git a/arch/ia64/include/asm/xen/patchlist.h b/arch/ia64/include/asm/xen/patchlist.h
new file mode 100644
index 0000000..eae944e
--- /dev/null
+++ b/arch/ia64/include/asm/xen/patchlist.h
&lt; at &gt;&lt; at &gt; -0,0 +1,38 &lt; at &gt;&lt; at &gt;
+/******************************************************************************
+ * arch/ia64/include/asm/xen/patchlist.h
+ *
+ * Copyright (c) 200</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19800">
    <title>[PATCH 08/13] ia64/pv_ops/xen/pv_time_ops: implement sched_clock.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19800</link>
    <description>paravirtualize sched_clock.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/xen/Kconfig |    1 +
 arch/ia64/xen/time.c  |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/arch/ia64/xen/Kconfig b/arch/ia64/xen/Kconfig
index f1683a2..48839da 100644
--- a/arch/ia64/xen/Kconfig
+++ b/arch/ia64/xen/Kconfig
&lt; at &gt;&lt; at &gt; -8,6 +8,7 &lt; at &gt;&lt; at &gt; config XEN
 depends on PARAVIRT &amp;&amp; MCKINLEY &amp;&amp; IA64_PAGE_SIZE_16KB &amp;&amp; EXPERIMENTAL
 select XEN_XENCOMM
 select NO_IDLE_HZ
+select HAVE_UNSTABLE_SCHED_CLOCK
 
 # those are required to save/restore.
 select ARCH_SUSPEND_POSSIBLE
diff --git a/arch/ia64/xen/time.c b/arch/ia64/xen/time.c
index d15a94c..c85d319 100644
--- a/arch/ia64/xen/time.c
+++ b/arch/ia64/xen/time.c
&lt; at &gt;&lt; at &gt; -175,10 +175,58 &lt; at &gt;&lt; at &gt; static void xen_itc_jitter_data_reset(void)
 } while (unlikely(ret != lcycle));
 }
 
+/* based on xen_sched_clock() in arch/x86/xen/time.c. */
+/*
+ * This relies on HAVE_UNSTABLE_SCHED_CLOCK. If it can't be define</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:06</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19799">
    <title>[PATCH 05/13] ia64/pv_ops: paravirtualize mov = ar.itc.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19799</link>
    <description>paravirtualize mov reg = ar.itc.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/native/inst.h |    5 +++++
 arch/ia64/kernel/entry.S            |    4 ++--
 arch/ia64/kernel/fsys.S             |    4 ++--
 arch/ia64/kernel/ivt.S              |    2 +-
 4 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/arch/ia64/include/asm/native/inst.h b/arch/ia64/include/asm/native/inst.h
index 5e4e151..ad59fc6 100644
--- a/arch/ia64/include/asm/native/inst.h
+++ b/arch/ia64/include/asm/native/inst.h
&lt; at &gt;&lt; at &gt; -77,6 +77,11 &lt; at &gt;&lt; at &gt;
 (pred)mov reg = psr\
 CLOBBER(clob)
 
+#define MOV_FROM_ITC(pred, pred_clob, reg, clob)\
+(pred)mov reg = ar.itc\
+CLOBBER(clob)\
+CLOBBER_PRED(pred_clob)
+
 #define MOV_TO_IFA(reg, clob)\
 mov cr.ifa = reg\
 CLOBBER(clob)
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S
index d435f4a..c5709c6 100644
--- a/arch/ia64/kernel/entry.S
+++ b/arch/ia64/kernel/entry.S
&lt; at &gt;&lt; at &gt; -735,7 +735,7 &lt; at &gt;&lt; at &gt; GLOBAL_ENTRY(__paravirt_leave_syscall)
 </description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19798">
    <title>[PATCH 09/13] ia64/pv_ops: gate page paravirtualization.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19798</link>
    <description>paravirtualize gate page by allowing each pv_ops instances
to define its own gate page.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/native/patchlist.h |   38 ++++++++++++++
 arch/ia64/include/asm/paravirt.h         |   35 +++++++++++++
 arch/ia64/kernel/Makefile                |   32 ++----------
 arch/ia64/kernel/Makefile.gate           |   27 ++++++++++
 arch/ia64/kernel/gate.lds.S              |   17 ++++---
 arch/ia64/kernel/paravirt_patchlist.c    |   78 ++++++++++++++++++++++++++++++
 arch/ia64/kernel/paravirt_patchlist.h    |   28 +++++++++++
 arch/ia64/kernel/patch.c                 |   12 ++--
 arch/ia64/mm/init.c                      |    6 ++-
 9 files changed, 230 insertions(+), 43 deletions(-)
 create mode 100644 arch/ia64/include/asm/native/patchlist.h
 create mode 100644 arch/ia64/kernel/Makefile.gate
 create mode 100644 arch/ia64/kernel/paravirt_patchlist.c
 create mode 100644 arch/ia64/kernel/paravirt_patchlist.h

diff --git a/arch/ia64/include/asm/nati</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19797">
    <title>[PATCH 13/13] ia64/pv_ops/xen/gate.S: xen gate page paravirtualization</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19797</link>
    <description>xen gate page paravirtualization

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/xen/inst.h |    4 ++++
 arch/ia64/xen/Makefile           |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/ia64/include/asm/xen/inst.h b/arch/ia64/include/asm/xen/inst.h
index 90537dc..c53a476 100644
--- a/arch/ia64/include/asm/xen/inst.h
+++ b/arch/ia64/include/asm/xen/inst.h
&lt; at &gt;&lt; at &gt; -386,6 +386,10 &lt; at &gt;&lt; at &gt;
 #define RSM_PSR_DT\
 XEN_HYPER_RSM_PSR_DT
 
+#define RSM_PSR_BE_I(clob0, clob1)\
+RSM_PSR_I(p0, clob0, clob1);\
+rum psr.be
+
 #define SSM_PSR_DT_AND_SRLZ_I\
 XEN_HYPER_SSM_PSR_DT
 
diff --git a/arch/ia64/xen/Makefile b/arch/ia64/xen/Makefile
index 94f0d8e..e6f4a0a 100644
--- a/arch/ia64/xen/Makefile
+++ b/arch/ia64/xen/Makefile
&lt; at &gt;&lt; at &gt; -13,6 +13,7 &lt; at &gt;&lt; at &gt; include $(srctree)/arch/ia64/kernel/Makefile.gate
 
 # tell compiled for xen
 CPPFLAGS_gate.lds += -D__IA64_GATE_PARAVIRTUALIZED_XEN
+AFLAGS_gate.o += -D__IA64_ASM_PARAVIRTUALIZED_XEN -D__IA64_GATE_PARAVIRTUALIZED_XEN
 
 </description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ia64/19796">
    <title>[PATCH 07/13] ia64/pv_ops/pv_time_ops: add sched_clock hook.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ia64/19796</link>
    <description>add sched_clock() hook to paravirtualize sched_clock().
ia64 sched_clock() is based on ar.itc which isn't stable
on virtualized environment because vcpu may move around on
pcpus. So it needs paravirtualization.

Signed-off-by: Isaku Yamahata &lt;yamahata&lt; at &gt;valinux.co.jp&gt;
---
 arch/ia64/include/asm/paravirt.h |    7 +++++++
 arch/ia64/include/asm/timex.h    |    1 +
 arch/ia64/kernel/head.S          |    4 ++--
 arch/ia64/kernel/paravirt.c      |    1 +
 arch/ia64/kernel/time.c          |   12 ++++++++++++
 5 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/arch/ia64/include/asm/paravirt.h b/arch/ia64/include/asm/paravirt.h
index 56f69f9..a73e77a 100644
--- a/arch/ia64/include/asm/paravirt.h
+++ b/arch/ia64/include/asm/paravirt.h
&lt; at &gt;&lt; at &gt; -225,6 +225,8 &lt; at &gt;&lt; at &gt; struct pv_time_ops {
 int (*do_steal_accounting)(unsigned long *new_itm);
 
 void (*clocksource_resume)(void);
+
+unsigned long long (*sched_clock)(void);
 };
 
 extern struct pv_time_ops pv_time_ops;
&lt; at &gt;&lt; at &gt; -242,6 +244,11 &lt; at &gt;&lt; at &gt; paravirt_do_steal_accounting(un</description>
    <dc:creator>Isaku Yamahata</dc:creator>
    <dc:date>2008-11-25T13:02:05</dc:date>
  </item>
  <textinput about="http://search.gmane.org/?group=$group=gmane.linux.ports.ia64">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.ports.ia64</link>
  </textinput>
</rdf:RDF>
