From: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] [Patch] 1/2 fix for generic kernel
Date: Mon, 24 Feb 2003 18:20:12 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590709805917@msgid-missing> (raw)
[-- Attachment #1: Type: text/plain, Size: 5233 bytes --]
Current 2.5 kernels are broken with CONFIG_IA64_GENERIC option. Two unused members are still remaining in the structure, resulting in corruption of structure elements during the MACHVEC_INIT initialization. Attached patch fixes this problem.
thanks,
suresh
diff -Nru linux-2.5.60/arch/ia64/kernel/machvec.c linux/arch/ia64/kernel/machvec.c
--- linux-2.5.60/arch/ia64/kernel/machvec.c Thu Feb 20 11:10:53 2003
+++ linux/arch/ia64/kernel/machvec.c Thu Feb 20 10:35:33 2003
@@ -10,19 +10,6 @@
struct ia64_machine_vector ia64_mv;
-/*
- * Most platforms use this routine for mapping page frame addresses into a memory map
- * index.
- *
- * Note: we can't use __pa() because map_nr_dense(X) MUST map to something >= max_mapnr if
- * X is outside the identity mapped kernel space.
- */
-unsigned long
-map_nr_dense (unsigned long addr)
-{
- return (addr - PAGE_OFFSET) >> PAGE_SHIFT;
-}
-
static struct ia64_machine_vector *
lookup_machvec (const char *name)
{
diff -Nru linux-2.5.60/include/asm-ia64/machvec.h linux/include/asm-ia64/machvec.h
--- linux-2.5.60/include/asm-ia64/machvec.h Thu Feb 20 11:11:10 2003
+++ linux/include/asm-ia64/machvec.h Thu Feb 20 13:51:48 2003
@@ -23,8 +23,6 @@
typedef void ia64_mv_setup_t (char **);
typedef void ia64_mv_cpu_init_t(void);
typedef void ia64_mv_irq_init_t (void);
-typedef void ia64_mv_pci_fixup_t (int);
-typedef unsigned long ia64_mv_map_nr_t (unsigned long);
typedef void ia64_mv_mca_init_t (void);
typedef void ia64_mv_mca_handler_t (void);
typedef void ia64_mv_cmci_handler_t (int, void *, struct pt_regs *);
@@ -120,8 +118,6 @@
ia64_mv_setup_t *setup;
ia64_mv_cpu_init_t *cpu_init;
ia64_mv_irq_init_t *irq_init;
- ia64_mv_pci_fixup_t *pci_fixup;
- ia64_mv_map_nr_t *map_nr;
ia64_mv_mca_init_t *mca_init;
ia64_mv_mca_handler_t *mca_handler;
ia64_mv_cmci_handler_t *cmci_handler;
diff -Nru linux-2.5.60/include/asm-ia64/machvec_dig.h linux/include/asm-ia64/machvec_dig.h
--- linux-2.5.60/include/asm-ia64/machvec_dig.h Thu Feb 20 11:11:48 2003
+++ linux/include/asm-ia64/machvec_dig.h Thu Feb 20 11:14:25 2003
@@ -3,8 +3,6 @@
extern ia64_mv_setup_t dig_setup;
extern ia64_mv_irq_init_t dig_irq_init;
-extern ia64_mv_pci_fixup_t iosapic_pci_fixup;
-extern ia64_mv_map_nr_t map_nr_dense;
/*
* This stuff has dual use!
diff -Nru linux-2.5.60/include/asm-ia64/machvec_hpsim.h linux/include/asm-ia64/machvec_hpsim.h
--- linux-2.5.60/include/asm-ia64/machvec_hpsim.h Thu Feb 20 11:11:59 2003
+++ linux/include/asm-ia64/machvec_hpsim.h Thu Feb 20 11:14:12 2003
@@ -3,7 +3,6 @@
extern ia64_mv_setup_t hpsim_setup;
extern ia64_mv_irq_init_t hpsim_irq_init;
-extern ia64_mv_map_nr_t map_nr_dense;
/*
* This stuff has dual use!
diff -Nru linux-2.5.60/include/asm-ia64/machvec_hpzx1.h linux/include/asm-ia64/machvec_hpzx1.h
--- linux-2.5.60/include/asm-ia64/machvec_hpzx1.h Thu Feb 20 11:11:35 2003
+++ linux/include/asm-ia64/machvec_hpzx1.h Thu Feb 20 11:31:21 2003
@@ -2,8 +2,6 @@
#define _ASM_IA64_MACHVEC_HPZX1_h
extern ia64_mv_setup_t dig_setup;
-extern ia64_mv_pci_fixup_t hpzx1_pci_fixup;
-extern ia64_mv_map_nr_t map_nr_dense;
extern ia64_mv_pci_alloc_consistent sba_alloc_consistent;
extern ia64_mv_pci_free_consistent sba_free_consistent;
extern ia64_mv_pci_map_single sba_map_single;
diff -Nru linux-2.5.60/include/asm-ia64/machvec_sn1.h linux/include/asm-ia64/machvec_sn1.h
--- linux-2.5.60/include/asm-ia64/machvec_sn1.h Mon Feb 10 10:38:44 2003
+++ linux/include/asm-ia64/machvec_sn1.h Thu Feb 20 11:34:17 2003
@@ -36,10 +36,8 @@
extern ia64_mv_setup_t sn1_setup;
extern ia64_mv_cpu_init_t sn_cpu_init;
extern ia64_mv_irq_init_t sn1_irq_init;
-extern ia64_mv_map_nr_t sn1_map_nr;
extern ia64_mv_send_ipi_t sn1_send_IPI;
extern ia64_mv_global_tlb_purge_t sn1_global_tlb_purge;
-extern ia64_mv_pci_fixup_t sn1_pci_fixup;
extern ia64_mv_inb_t sn1_inb;
extern ia64_mv_inw_t sn1_inw;
extern ia64_mv_inl_t sn1_inl;
diff -Nru linux-2.5.60/include/asm-ia64/machvec_sn2.h linux/include/asm-ia64/machvec_sn2.h
--- linux-2.5.60/include/asm-ia64/machvec_sn2.h Mon Feb 10 10:38:20 2003
+++ linux/include/asm-ia64/machvec_sn2.h Thu Feb 20 11:59:23 2003
@@ -36,13 +36,11 @@
extern ia64_mv_setup_t sn_setup;
extern ia64_mv_cpu_init_t sn_cpu_init;
extern ia64_mv_irq_init_t sn_irq_init;
-extern ia64_mv_map_nr_t sn2_map_nr;
extern ia64_mv_send_ipi_t sn2_send_IPI;
extern ia64_mv_global_tlb_purge_t sn2_global_tlb_purge;
extern ia64_mv_irq_desc sn_irq_desc;
extern ia64_mv_irq_to_vector sn_irq_to_vector;
extern ia64_mv_local_vector_to_irq sn_local_vector_to_irq;
-extern ia64_mv_pci_fixup_t sn_pci_fixup;
extern ia64_mv_inb_t sn_inb;
extern ia64_mv_inw_t sn_inw;
extern ia64_mv_inl_t sn_inl;
@@ -72,10 +70,8 @@
#define platform_setup sn_setup
#define platform_cpu_init sn_cpu_init
#define platform_irq_init sn_irq_init
-#define platform_map_nr sn2_map_nr
#define platform_send_ipi sn2_send_IPI
#define platform_global_tlb_purge sn2_global_tlb_purge
-#define platform_pci_fixup sn_pci_fixup
#define platform_inb sn_inb
#define platform_inw sn_inw
#define platform_inl sn_inl
[-- Attachment #2: generic.diff --]
[-- Type: application/octet-stream, Size: 4967 bytes --]
diff -Nru linux-2.5.60/arch/ia64/kernel/machvec.c linux/arch/ia64/kernel/machvec.c
--- linux-2.5.60/arch/ia64/kernel/machvec.c Thu Feb 20 11:10:53 2003
+++ linux/arch/ia64/kernel/machvec.c Thu Feb 20 10:35:33 2003
@@ -10,19 +10,6 @@
struct ia64_machine_vector ia64_mv;
-/*
- * Most platforms use this routine for mapping page frame addresses into a memory map
- * index.
- *
- * Note: we can't use __pa() because map_nr_dense(X) MUST map to something >= max_mapnr if
- * X is outside the identity mapped kernel space.
- */
-unsigned long
-map_nr_dense (unsigned long addr)
-{
- return (addr - PAGE_OFFSET) >> PAGE_SHIFT;
-}
-
static struct ia64_machine_vector *
lookup_machvec (const char *name)
{
diff -Nru linux-2.5.60/include/asm-ia64/machvec.h linux/include/asm-ia64/machvec.h
--- linux-2.5.60/include/asm-ia64/machvec.h Thu Feb 20 11:11:10 2003
+++ linux/include/asm-ia64/machvec.h Thu Feb 20 13:51:48 2003
@@ -23,8 +23,6 @@
typedef void ia64_mv_setup_t (char **);
typedef void ia64_mv_cpu_init_t(void);
typedef void ia64_mv_irq_init_t (void);
-typedef void ia64_mv_pci_fixup_t (int);
-typedef unsigned long ia64_mv_map_nr_t (unsigned long);
typedef void ia64_mv_mca_init_t (void);
typedef void ia64_mv_mca_handler_t (void);
typedef void ia64_mv_cmci_handler_t (int, void *, struct pt_regs *);
@@ -120,8 +118,6 @@
ia64_mv_setup_t *setup;
ia64_mv_cpu_init_t *cpu_init;
ia64_mv_irq_init_t *irq_init;
- ia64_mv_pci_fixup_t *pci_fixup;
- ia64_mv_map_nr_t *map_nr;
ia64_mv_mca_init_t *mca_init;
ia64_mv_mca_handler_t *mca_handler;
ia64_mv_cmci_handler_t *cmci_handler;
diff -Nru linux-2.5.60/include/asm-ia64/machvec_dig.h linux/include/asm-ia64/machvec_dig.h
--- linux-2.5.60/include/asm-ia64/machvec_dig.h Thu Feb 20 11:11:48 2003
+++ linux/include/asm-ia64/machvec_dig.h Thu Feb 20 11:14:25 2003
@@ -3,8 +3,6 @@
extern ia64_mv_setup_t dig_setup;
extern ia64_mv_irq_init_t dig_irq_init;
-extern ia64_mv_pci_fixup_t iosapic_pci_fixup;
-extern ia64_mv_map_nr_t map_nr_dense;
/*
* This stuff has dual use!
diff -Nru linux-2.5.60/include/asm-ia64/machvec_hpsim.h linux/include/asm-ia64/machvec_hpsim.h
--- linux-2.5.60/include/asm-ia64/machvec_hpsim.h Thu Feb 20 11:11:59 2003
+++ linux/include/asm-ia64/machvec_hpsim.h Thu Feb 20 11:14:12 2003
@@ -3,7 +3,6 @@
extern ia64_mv_setup_t hpsim_setup;
extern ia64_mv_irq_init_t hpsim_irq_init;
-extern ia64_mv_map_nr_t map_nr_dense;
/*
* This stuff has dual use!
diff -Nru linux-2.5.60/include/asm-ia64/machvec_hpzx1.h linux/include/asm-ia64/machvec_hpzx1.h
--- linux-2.5.60/include/asm-ia64/machvec_hpzx1.h Thu Feb 20 11:11:35 2003
+++ linux/include/asm-ia64/machvec_hpzx1.h Thu Feb 20 11:31:21 2003
@@ -2,8 +2,6 @@
#define _ASM_IA64_MACHVEC_HPZX1_h
extern ia64_mv_setup_t dig_setup;
-extern ia64_mv_pci_fixup_t hpzx1_pci_fixup;
-extern ia64_mv_map_nr_t map_nr_dense;
extern ia64_mv_pci_alloc_consistent sba_alloc_consistent;
extern ia64_mv_pci_free_consistent sba_free_consistent;
extern ia64_mv_pci_map_single sba_map_single;
diff -Nru linux-2.5.60/include/asm-ia64/machvec_sn1.h linux/include/asm-ia64/machvec_sn1.h
--- linux-2.5.60/include/asm-ia64/machvec_sn1.h Mon Feb 10 10:38:44 2003
+++ linux/include/asm-ia64/machvec_sn1.h Thu Feb 20 11:34:17 2003
@@ -36,10 +36,8 @@
extern ia64_mv_setup_t sn1_setup;
extern ia64_mv_cpu_init_t sn_cpu_init;
extern ia64_mv_irq_init_t sn1_irq_init;
-extern ia64_mv_map_nr_t sn1_map_nr;
extern ia64_mv_send_ipi_t sn1_send_IPI;
extern ia64_mv_global_tlb_purge_t sn1_global_tlb_purge;
-extern ia64_mv_pci_fixup_t sn1_pci_fixup;
extern ia64_mv_inb_t sn1_inb;
extern ia64_mv_inw_t sn1_inw;
extern ia64_mv_inl_t sn1_inl;
diff -Nru linux-2.5.60/include/asm-ia64/machvec_sn2.h linux/include/asm-ia64/machvec_sn2.h
--- linux-2.5.60/include/asm-ia64/machvec_sn2.h Mon Feb 10 10:38:20 2003
+++ linux/include/asm-ia64/machvec_sn2.h Thu Feb 20 11:59:23 2003
@@ -36,13 +36,11 @@
extern ia64_mv_setup_t sn_setup;
extern ia64_mv_cpu_init_t sn_cpu_init;
extern ia64_mv_irq_init_t sn_irq_init;
-extern ia64_mv_map_nr_t sn2_map_nr;
extern ia64_mv_send_ipi_t sn2_send_IPI;
extern ia64_mv_global_tlb_purge_t sn2_global_tlb_purge;
extern ia64_mv_irq_desc sn_irq_desc;
extern ia64_mv_irq_to_vector sn_irq_to_vector;
extern ia64_mv_local_vector_to_irq sn_local_vector_to_irq;
-extern ia64_mv_pci_fixup_t sn_pci_fixup;
extern ia64_mv_inb_t sn_inb;
extern ia64_mv_inw_t sn_inw;
extern ia64_mv_inl_t sn_inl;
@@ -72,10 +70,8 @@
#define platform_setup sn_setup
#define platform_cpu_init sn_cpu_init
#define platform_irq_init sn_irq_init
-#define platform_map_nr sn2_map_nr
#define platform_send_ipi sn2_send_IPI
#define platform_global_tlb_purge sn2_global_tlb_purge
-#define platform_pci_fixup sn_pci_fixup
#define platform_inb sn_inb
#define platform_inw sn_inw
#define platform_inl sn_inl
reply other threads:[~2003-02-24 18:20 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590709805917@msgid-missing \
--to=suresh.b.siddha@intel.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.