From e9a2718a3498022e75f8ac0b988977164a7c4118 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 7 Dec 2010 15:43:07 -0800 Subject: [PATCH] remove some .32 patches that broke the build --- queue-2.6.32/series | 2 - ...xpc-to-handle-updated-bios-interface.patch | 219 ------------------ ...to-provide-an-abstraction-for-uv_gpa.patch | 100 -------- 3 files changed, 321 deletions(-) delete mode 100644 queue-2.6.32/x86-uv-update-xpc-to-handle-updated-bios-interface.patch delete mode 100644 queue-2.6.32/x86-uv-xpc-needs-to-provide-an-abstraction-for-uv_gpa.patch diff --git a/queue-2.6.32/series b/queue-2.6.32/series index 58e34bd1cd4..0350a070bca 100644 --- a/queue-2.6.32/series +++ b/queue-2.6.32/series @@ -125,5 +125,3 @@ uv-xpc-pass-nasid-instead-of-nid-to-gru_create_message_queue.patch x86-uv-xpc-receive-message-reuse-triggers-invalid-bug_on.patch x86-uv-xpc_make_first_contact-hang-due-to-not-accepting-active-state.patch x86-uv-xpc-null-deref-when-mesq-becomes-empty.patch -x86-uv-update-xpc-to-handle-updated-bios-interface.patch -x86-uv-xpc-needs-to-provide-an-abstraction-for-uv_gpa.patch diff --git a/queue-2.6.32/x86-uv-update-xpc-to-handle-updated-bios-interface.patch b/queue-2.6.32/x86-uv-update-xpc-to-handle-updated-bios-interface.patch deleted file mode 100644 index bf9ee1cf89c..00000000000 --- a/queue-2.6.32/x86-uv-update-xpc-to-handle-updated-bios-interface.patch +++ /dev/null @@ -1,219 +0,0 @@ -From c2c9f115741453715d6b4da1cd2de65af8c7ad86 Mon Sep 17 00:00:00 2001 -From: Robin Holt -Date: Tue, 15 Dec 2009 16:47:56 -0800 -Subject: x86: uv: update XPC to handle updated BIOS interface - -From: Robin Holt - -commit c2c9f115741453715d6b4da1cd2de65af8c7ad86 upstream. - -The UV BIOS has moved the location of some of their pointers to the -"partition reserved page" from memory into a uv hub MMR. The GRU does not -support bcopy operations from MMR space so we need to special case the MMR -addresses using VLOAD operations. - -Additionally, the BIOS call for registering a message queue watchlist has -removed the 'blade' value and eliminated the structure that was being -passed in. This is also reflected in this patch. - -Signed-off-by: Robin Holt -Cc: Jack Steiner -Cc: Ingo Molnar -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - arch/x86/include/asm/uv/bios.h | 11 +---------- - arch/x86/kernel/bios_uv.c | 8 ++------ - drivers/misc/sgi-xp/xp_uv.c | 23 +++++++++++++++++++++++ - drivers/misc/sgi-xp/xpc_partition.c | 13 +++++++++---- - drivers/misc/sgi-xp/xpc_uv.c | 27 +++++++++++++++------------ - 5 files changed, 50 insertions(+), 32 deletions(-) - ---- a/arch/x86/include/asm/uv/bios.h -+++ b/arch/x86/include/asm/uv/bios.h -@@ -76,15 +76,6 @@ union partition_info_u { - }; - }; - --union uv_watchlist_u { -- u64 val; -- struct { -- u64 blade : 16, -- size : 32, -- filler : 16; -- }; --}; -- - enum uv_memprotect { - UV_MEMPROT_RESTRICT_ACCESS, - UV_MEMPROT_ALLOW_AMO, -@@ -100,7 +91,7 @@ extern s64 uv_bios_call_reentrant(enum u - - extern s64 uv_bios_get_sn_info(int, int *, long *, long *, long *); - extern s64 uv_bios_freq_base(u64, u64 *); --extern int uv_bios_mq_watchlist_alloc(int, unsigned long, unsigned int, -+extern int uv_bios_mq_watchlist_alloc(unsigned long, unsigned int, - unsigned long *); - extern int uv_bios_mq_watchlist_free(int, int); - extern s64 uv_bios_change_memprotect(u64, u64, enum uv_memprotect); ---- a/arch/x86/kernel/bios_uv.c -+++ b/arch/x86/kernel/bios_uv.c -@@ -101,21 +101,17 @@ s64 uv_bios_get_sn_info(int fc, int *uvt - } - - int --uv_bios_mq_watchlist_alloc(int blade, unsigned long addr, unsigned int mq_size, -+uv_bios_mq_watchlist_alloc(unsigned long addr, unsigned int mq_size, - unsigned long *intr_mmr_offset) - { -- union uv_watchlist_u size_blade; - u64 watchlist; - s64 ret; - -- size_blade.size = mq_size; -- size_blade.blade = blade; -- - /* - * bios returns watchlist number or negative error number. - */ - ret = (int)uv_bios_call_irqsave(UV_BIOS_WATCHLIST_ALLOC, addr, -- size_blade.val, (u64)intr_mmr_offset, -+ mq_size, (u64)intr_mmr_offset, - (u64)&watchlist, 0); - if (ret < BIOS_STATUS_SUCCESS) - return ret; ---- a/drivers/misc/sgi-xp/xp_uv.c -+++ b/drivers/misc/sgi-xp/xp_uv.c -@@ -33,11 +33,34 @@ xp_pa_uv(void *addr) - } - - static enum xp_retval -+xp_remote_mmr_read(unsigned long dst_gpa, const unsigned long src_gpa, -+ size_t len) -+{ -+ int ret; -+ unsigned long *dst_va = __va(uv_gpa_to_soc_phys_ram(dst_gpa)); -+ -+ BUG_ON(!uv_gpa_in_mmr_space(src_gpa)); -+ BUG_ON(len != 8); -+ -+ ret = gru_read_gpa(dst_va, src_gpa); -+ if (ret == 0) -+ return xpSuccess; -+ -+ dev_err(xp, "gru_read_gpa() failed, dst_gpa=0x%016lx src_gpa=0x%016lx " -+ "len=%ld\n", dst_gpa, src_gpa, len); -+ return xpGruCopyError; -+} -+ -+ -+static enum xp_retval - xp_remote_memcpy_uv(unsigned long dst_gpa, const unsigned long src_gpa, - size_t len) - { - int ret; - -+ if (uv_gpa_in_mmr_space(src_gpa)) -+ return xp_remote_mmr_read(dst_gpa, src_gpa, len); -+ - ret = gru_copy_gpa(dst_gpa, src_gpa, len); - if (ret == 0) - return xpSuccess; ---- a/drivers/misc/sgi-xp/xpc_partition.c -+++ b/drivers/misc/sgi-xp/xpc_partition.c -@@ -18,6 +18,7 @@ - #include - #include - #include "xpc.h" -+#include - - /* XPC is exiting flag */ - int xpc_exiting; -@@ -92,8 +93,12 @@ xpc_get_rsvd_page_pa(int nasid) - break; - - /* !!! L1_CACHE_ALIGN() is only a sn2-bte_copy requirement */ -- if (L1_CACHE_ALIGN(len) > buf_len) { -- kfree(buf_base); -+ if (is_shub()) -+ len = L1_CACHE_ALIGN(len); -+ -+ if (len > buf_len) { -+ if (buf_base != NULL) -+ kfree(buf_base); - buf_len = L1_CACHE_ALIGN(len); - buf = xpc_kmalloc_cacheline_aligned(buf_len, GFP_KERNEL, - &buf_base); -@@ -105,7 +110,7 @@ xpc_get_rsvd_page_pa(int nasid) - } - } - -- ret = xp_remote_memcpy(xp_pa(buf), rp_pa, buf_len); -+ ret = xp_remote_memcpy(xp_pa(buf), rp_pa, len); - if (ret != xpSuccess) { - dev_dbg(xpc_part, "xp_remote_memcpy failed %d\n", ret); - break; -@@ -143,7 +148,7 @@ xpc_setup_rsvd_page(void) - dev_err(xpc_part, "SAL failed to locate the reserved page\n"); - return -ESRCH; - } -- rp = (struct xpc_rsvd_page *)__va(rp_pa); -+ rp = (struct xpc_rsvd_page *)__va(xp_socket_pa(rp_pa)); - - if (rp->SAL_version < 3) { - /* SAL_versions < 3 had a SAL_partid defined as a u8 */ ---- a/drivers/misc/sgi-xp/xpc_uv.c -+++ b/drivers/misc/sgi-xp/xpc_uv.c -@@ -156,22 +156,24 @@ xpc_gru_mq_watchlist_alloc_uv(struct xpc - { - int ret; - --#if defined CONFIG_X86_64 -- ret = uv_bios_mq_watchlist_alloc(mq->mmr_blade, uv_gpa(mq->address), -- mq->order, &mq->mmr_offset); -- if (ret < 0) { -- dev_err(xpc_part, "uv_bios_mq_watchlist_alloc() failed, " -- "ret=%d\n", ret); -- return ret; -- } --#elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV -- ret = sn_mq_watchlist_alloc(mq->mmr_blade, (void *)uv_gpa(mq->address), -+#if defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV -+ int mmr_pnode = uv_blade_to_pnode(mq->mmr_blade); -+ -+ ret = sn_mq_watchlist_alloc(mmr_pnode, (void *)uv_gpa(mq->address), - mq->order, &mq->mmr_offset); - if (ret < 0) { - dev_err(xpc_part, "sn_mq_watchlist_alloc() failed, ret=%d\n", - ret); - return -EBUSY; - } -+#elif defined CONFIG_X86_64 -+ ret = uv_bios_mq_watchlist_alloc(uv_gpa(mq->address), -+ mq->order, &mq->mmr_offset); -+ if (ret < 0) { -+ dev_err(xpc_part, "uv_bios_mq_watchlist_alloc() failed, " -+ "ret=%d\n", ret); -+ return ret; -+ } - #else - #error not a supported configuration - #endif -@@ -184,12 +186,13 @@ static void - xpc_gru_mq_watchlist_free_uv(struct xpc_gru_mq_uv *mq) - { - int ret; -+ int mmr_pnode = uv_blade_to_pnode(mq->mmr_blade); - - #if defined CONFIG_X86_64 -- ret = uv_bios_mq_watchlist_free(mq->mmr_blade, mq->watchlist_num); -+ ret = uv_bios_mq_watchlist_free(mmr_pnode, mq->watchlist_num); - BUG_ON(ret != BIOS_STATUS_SUCCESS); - #elif defined CONFIG_IA64_GENERIC || defined CONFIG_IA64_SGI_UV -- ret = sn_mq_watchlist_free(mq->mmr_blade, mq->watchlist_num); -+ ret = sn_mq_watchlist_free(mmr_pnode, mq->watchlist_num); - BUG_ON(ret != SALRET_OK); - #else - #error not a supported configuration diff --git a/queue-2.6.32/x86-uv-xpc-needs-to-provide-an-abstraction-for-uv_gpa.patch b/queue-2.6.32/x86-uv-xpc-needs-to-provide-an-abstraction-for-uv_gpa.patch deleted file mode 100644 index 47b6735bca0..00000000000 --- a/queue-2.6.32/x86-uv-xpc-needs-to-provide-an-abstraction-for-uv_gpa.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 682128939f546e3a9cdd9fef392b932dd9c41a65 Mon Sep 17 00:00:00 2001 -From: Robin Holt -Date: Tue, 15 Dec 2009 16:47:53 -0800 -Subject: x86: uv: xpc needs to provide an abstraction for uv_gpa - -From: Robin Holt - -commit 682128939f546e3a9cdd9fef392b932dd9c41a65 upstream. - -Provide an SGI SN2/UV agnositic method for converting a global physical -address into a socket physical address. - -Signed-off-by: Robin Holt -Cc: Jack Steiner -Cc: Ingo Molnar -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/misc/sgi-xp/xp.h | 1 + - drivers/misc/sgi-xp/xp_main.c | 3 +++ - drivers/misc/sgi-xp/xp_sn2.c | 10 ++++++++++ - drivers/misc/sgi-xp/xp_uv.c | 10 ++++++++++ - 4 files changed, 24 insertions(+) - ---- a/drivers/misc/sgi-xp/xp.h -+++ b/drivers/misc/sgi-xp/xp.h -@@ -339,6 +339,7 @@ extern short xp_partition_id; - extern u8 xp_region_size; - - extern unsigned long (*xp_pa) (void *); -+extern unsigned long (*xp_socket_pa) (unsigned long); - extern enum xp_retval (*xp_remote_memcpy) (unsigned long, const unsigned long, - size_t); - extern int (*xp_cpu_to_nasid) (int); ---- a/drivers/misc/sgi-xp/xp_main.c -+++ b/drivers/misc/sgi-xp/xp_main.c -@@ -44,6 +44,9 @@ EXPORT_SYMBOL_GPL(xp_region_size); - unsigned long (*xp_pa) (void *addr); - EXPORT_SYMBOL_GPL(xp_pa); - -+unsigned long (*xp_socket_pa) (unsigned long gpa); -+EXPORT_SYMBOL_GPL(xp_socket_pa); -+ - enum xp_retval (*xp_remote_memcpy) (unsigned long dst_gpa, - const unsigned long src_gpa, size_t len); - EXPORT_SYMBOL_GPL(xp_remote_memcpy); ---- a/drivers/misc/sgi-xp/xp_sn2.c -+++ b/drivers/misc/sgi-xp/xp_sn2.c -@@ -84,6 +84,15 @@ xp_pa_sn2(void *addr) - } - - /* -+ * Convert a global physical to a socket physical address. -+ */ -+static unsigned long -+xp_socket_pa_sn2(unsigned long gpa) -+{ -+ return gpa; -+} -+ -+/* - * Wrapper for bte_copy(). - * - * dst_pa - physical address of the destination of the transfer. -@@ -162,6 +171,7 @@ xp_init_sn2(void) - xp_region_size = sn_region_size; - - xp_pa = xp_pa_sn2; -+ xp_socket_pa = xp_socket_pa_sn2; - xp_remote_memcpy = xp_remote_memcpy_sn2; - xp_cpu_to_nasid = xp_cpu_to_nasid_sn2; - xp_expand_memprotect = xp_expand_memprotect_sn2; ---- a/drivers/misc/sgi-xp/xp_uv.c -+++ b/drivers/misc/sgi-xp/xp_uv.c -@@ -32,6 +32,15 @@ xp_pa_uv(void *addr) - return uv_gpa(addr); - } - -+/* -+ * Convert a global physical to socket physical address. -+ */ -+static unsigned long -+xp_socket_pa_uv(unsigned long gpa) -+{ -+ return uv_gpa_to_soc_phys_ram(gpa); -+} -+ - static enum xp_retval - xp_remote_mmr_read(unsigned long dst_gpa, const unsigned long src_gpa, - size_t len) -@@ -146,6 +155,7 @@ xp_init_uv(void) - xp_region_size = sn_region_size; - - xp_pa = xp_pa_uv; -+ xp_socket_pa = xp_socket_pa_uv; - xp_remote_memcpy = xp_remote_memcpy_uv; - xp_cpu_to_nasid = xp_cpu_to_nasid_uv; - xp_expand_memprotect = xp_expand_memprotect_uv; -- 2.47.3