More changes to support machine vectors.
Signed-off-by: Jes Sorensen <jes@xxxxxxx>
---
arch/ia64/xen/irq.c | 7 +++++
include/asm-ia64/config.h | 23 +++++++++-------
include/asm-ia64/linux-xen/asm/machvec_dig.h | 33 ++++++++++++-----------
include/asm-ia64/linux-xen/asm/machvec_hpzx1.h | 35 +++++++++++++------------
4 files changed, 56 insertions(+), 42 deletions(-)
Index: xen/arch/ia64/xen/irq.c
===================================================================
--- xen.orig/arch/ia64/xen/irq.c
+++ xen/arch/ia64/xen/irq.c
@@ -48,6 +48,13 @@
#include <xen/event.h>
#define apicid_to_phys_cpu_present(x) 1
+#ifdef CONFIG_IA64_GENERIC
+unsigned int __ia64_local_vector_to_irq (ia64_vector vec)
+{
+ return (unsigned int) vec;
+}
+#endif
+
/*
* Linux has a controller-independent x86 interrupt architecture.
* every controller has a 'controller-template', that is used
Index: xen/include/asm-ia64/config.h
===================================================================
--- xen.orig/include/asm-ia64/config.h
+++ xen/include/asm-ia64/config.h
@@ -8,8 +8,9 @@
// manufactured from component pieces
// defined in linux/arch/ia64/defconfig
-//#define CONFIG_IA64_GENERIC
-#define CONFIG_IA64_HP_SIM
+#define CONFIG_IA64_GENERIC
+#define CONFIG_HZ 32
+
#define CONFIG_IA64_L1_CACHE_SHIFT 7
// needed by include/asm-ia64/page.h
#define CONFIG_IA64_PAGE_SIZE_16KB // 4KB doesn't work?!?
@@ -144,14 +145,6 @@ extern int smp_num_siblings;
// avoid redefining task_struct in asm/current.h
#define task_struct vcpu
-// linux/include/asm-ia64/machvec.h (linux/arch/ia64/lib/io.c)
-#define platform_inb __ia64_inb
-#define platform_inw __ia64_inw
-#define platform_inl __ia64_inl
-#define platform_outb __ia64_outb
-#define platform_outw __ia64_outw
-#define platform_outl __ia64_outl
-
#include <xen/cache.h>
#ifndef CONFIG_SMP
#define __cacheline_aligned_in_smp
@@ -203,6 +196,16 @@ void sort_main_extable(void);
// Deprivated linux inf and put here for short time compatibility
#define kmalloc(s, t) xmalloc_bytes((s))
#define kfree(s) xfree((s))
+#define kzalloc(size, flags) \
+({ \
+ unsigned char *mem; \
+ mem = (unsigned char *)xmalloc_bytes(size); \
+ if (mem) \
+ memset(mem, 0, size); \
+ (void *)mem; \
+})
+#define kcalloc(n, size, flags) kzalloc(n * size, flags)
+#define alloc_bootmem_node(pg, size) xmalloc_bytes(size)
// see common/keyhandler.c
#define nop() asm volatile ("nop 0")
Index: xen/include/asm-ia64/linux-xen/asm/machvec_dig.h
===================================================================
--- xen.orig/include/asm-ia64/linux-xen/asm/machvec_dig.h
+++ xen/include/asm-ia64/linux-xen/asm/machvec_dig.h
@@ -15,25 +15,26 @@ extern ia64_mv_setup_t dig_setup;
/*
* All the World is a PC .... yay! yay! yay!
*/
-#define platform_setup machvec_noop
-#define platform_dma_init machvec_noop
-#define platform_dma_alloc_coherent machvec_noop
-#define platform_dma_free_coherent machvec_noop
-#define platform_dma_map_single machvec_noop
-#define platform_dma_unmap_single machvec_noop
-#define platform_dma_map_sg machvec_noop
-#define platform_dma_unmap_sg machvec_noop
+extern ia64_mv_setup_t hpsim_setup;
+#define platform_setup hpsim_setup
+
+#define platform_dma_init machvec_noop
+#define platform_dma_alloc_coherent machvec_noop
+#define platform_dma_free_coherent machvec_noop
+#define platform_dma_map_single machvec_noop
+#define platform_dma_unmap_single machvec_noop
+#define platform_dma_map_sg machvec_noop
+#define platform_dma_unmap_sg machvec_noop
#define platform_dma_sync_single_for_cpu machvec_noop
-#define platform_dma_sync_sg_for_cpu machvec_noop
+#define platform_dma_sync_sg_for_cpu machvec_noop
#define platform_dma_sync_single_for_device machvec_noop
-#define platform_dma_sync_sg_for_device machvec_noop
-#define platform_dma_mapping_error machvec_noop
-#define platform_dma_supported machvec_noop
-#define platform_local_vector_to_irq machvec_noop
+#define platform_dma_sync_sg_for_device machvec_noop
+#define platform_dma_mapping_error machvec_noop
+#define platform_dma_supported machvec_noop
-#define platform_pci_get_legacy_mem machvec_noop
-#define platform_pci_legacy_read machvec_noop
-#define platform_pci_legacy_write machvec_noop
+#define platform_pci_get_legacy_mem machvec_noop
+#define platform_pci_legacy_read machvec_noop
+#define platform_pci_legacy_write machvec_noop
#else
#define platform_setup dig_setup
#endif
Index: xen/include/asm-ia64/linux-xen/asm/machvec_hpzx1.h
===================================================================
--- xen.orig/include/asm-ia64/linux-xen/asm/machvec_hpzx1.h
+++ xen/include/asm-ia64/linux-xen/asm/machvec_hpzx1.h
@@ -20,25 +20,28 @@ extern ia64_mv_dma_mapping_error sba_dma
*/
#define platform_name "hpzx1"
#ifdef XEN
-#define platform_setup machvec_noop
-#define platform_dma_init machvec_noop
-#define platform_dma_alloc_coherent machvec_noop
-#define platform_dma_free_coherent machvec_noop
-#define platform_dma_map_single machvec_noop
-#define platform_dma_unmap_single machvec_noop
-#define platform_dma_map_sg machvec_noop
-#define platform_dma_unmap_sg machvec_noop
+extern ia64_mv_setup_t hpsim_setup;
+extern ia64_mv_irq_init_t hpsim_irq_init;
+#define platform_setup hpsim_setup
+#define platform_irq_init hpsim_irq_init
+
+#define platform_dma_init machvec_noop
+#define platform_dma_alloc_coherent machvec_noop
+#define platform_dma_free_coherent machvec_noop
+#define platform_dma_map_single machvec_noop
+#define platform_dma_unmap_single machvec_noop
+#define platform_dma_map_sg machvec_noop
+#define platform_dma_unmap_sg machvec_noop
#define platform_dma_sync_single_for_cpu machvec_noop
-#define platform_dma_sync_sg_for_cpu machvec_noop
+#define platform_dma_sync_sg_for_cpu machvec_noop
#define platform_dma_sync_single_for_device machvec_noop
-#define platform_dma_sync_sg_for_device machvec_noop
-#define platform_dma_mapping_error machvec_noop
-#define platform_dma_supported machvec_noop
-#define platform_local_vector_to_irq machvec_noop
+#define platform_dma_sync_sg_for_device machvec_noop
+#define platform_dma_mapping_error machvec_noop
+#define platform_dma_supported machvec_noop
-#define platform_pci_get_legacy_mem machvec_noop
-#define platform_pci_legacy_read machvec_noop
-#define platform_pci_legacy_write machvec_noop
+#define platform_pci_get_legacy_mem machvec_noop
+#define platform_pci_legacy_read machvec_noop
+#define platform_pci_legacy_write machvec_noop
#else
#define platform_setup dig_setup
#define platform_dma_init machvec_noop
--
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|