[RFC] : remove unreliable, unused and unmainained arch from kernel.

From: Evgeniy Polyakov
Date: Fri Apr 01 2005 - 07:48:59 EST



diff -ru ./linux-2.6.9-orig/drivers/scsi/in2000.h ./linux-2.6.9/drivers/scsi/in2000.h
--- ./linux-2.6.9-orig/drivers/scsi/in2000.h 2005-03-31 16:26:50.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/in2000.h 2005-03-31 17:09:52.000000000 +0400
@@ -34,11 +34,6 @@
#define DEBUGGING_ON /* enable command-line debugging bitmask */
#define DEBUG_DEFAULTS 0 /* default bitmask - change from command-line */

-#ifdef __i386__
-#define FAST_READ_IO /* No problems with these on my machine */
-#define FAST_WRITE_IO
-#endif
-
#ifdef DEBUGGING_ON
#define DB(f,a) if (hostdata->args & (f)) a;
#define CHECK_NULL(p,s) /* if (!(p)) {printk("\n"); while (1) printk("NP:%s\r",(s));} */
@@ -54,47 +49,6 @@
#define write1_io(b,a) (outb((b),hostdata->io_base+(a)))
#define write2_io(w,a) (outw((w),hostdata->io_base+(a)))

-#ifdef __i386__
-/* These inline assembly defines are derived from a patch
- * sent to me by Bill Earnest. He's done a lot of very
- * valuable thinking, testing, and coding during his effort
- * to squeeze more speed out of this driver. I really think
- * that we are doing IO at close to the maximum now with
- * the fifo. (And yes, insw uses 'edi' while outsw uses
- * 'esi'. Thanks Bill!)
- */
-
-#define FAST_READ2_IO() \
-({ \
-int __dummy_1,__dummy_2; \
- __asm__ __volatile__ ("\n \
- cld \n \
- orl %%ecx, %%ecx \n \
- jz 1f \n \
- rep \n \
- insw (%%dx),%%es:(%%edi) \n \
-1: " \
- : "=D" (sp) ,"=c" (__dummy_1) ,"=d" (__dummy_2) /* output */ \
- : "2" (f), "0" (sp), "1" (i) /* input */ \
- ); /* trashed */ \
-})
-
-#define FAST_WRITE2_IO() \
-({ \
-int __dummy_1,__dummy_2; \
- __asm__ __volatile__ ("\n \
- cld \n \
- orl %%ecx, %%ecx \n \
- jz 1f \n \
- rep \n \
- outsw %%ds:(%%esi),(%%dx) \n \
-1: " \
- : "=S" (sp) ,"=c" (__dummy_1) ,"=d" (__dummy_2)/* output */ \
- : "2" (f), "0" (sp), "1" (i) /* input */ \
- ); /* trashed */ \
-})
-#endif
-
/* IN2000 io_port offsets */
#define IO_WD_ASR 0x00 /* R - 3393 auxstat reg */
#define ASR_INT 0x80
diff -ru ./linux-2.6.9-orig/drivers/scsi/ips.c ./linux-2.6.9/drivers/scsi/ips.c
--- ./linux-2.6.9-orig/drivers/scsi/ips.c 2005-03-31 16:26:50.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/ips.c 2005-03-31 17:10:17.000000000 +0400
@@ -210,8 +210,8 @@
#define IPS_VERSION_HIGH "7.10"
#define IPS_VERSION_LOW ".18 "

-#if !defined(__i386__) && !defined(__ia64__) && !defined(__x86_64__)
-#warning "This driver has only been tested on the x86/ia64/x86_64 platforms"
+#if !defined(__ia64__) && !defined(__x86_64__)
+#warning "This driver has only been tested on the ia64/x86_64 platforms"
#endif

#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,5,0)
diff -ru ./linux-2.6.9-orig/drivers/scsi/Kconfig ./linux-2.6.9/drivers/scsi/Kconfig
--- ./linux-2.6.9-orig/drivers/scsi/Kconfig 2005-03-31 16:26:51.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/Kconfig 2005-03-31 17:15:17.000000000 +0400
@@ -1163,7 +1163,7 @@
help
This option allows you to enable profiling information gathering.
These statistics are not very accurate due to the low frequency
- of the kernel clock (100 Hz on i386) and have performance impact
+ of the kernel clock (100 Hz on normal arch) and have performance impact
on systems that use very fast devices.

The normal answer therefore is N.
diff -ru ./linux-2.6.9-orig/drivers/scsi/NCR5380.h ./linux-2.6.9/drivers/scsi/NCR5380.h
--- ./linux-2.6.9-orig/drivers/scsi/NCR5380.h 2005-03-31 16:26:51.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/NCR5380.h 2005-03-31 17:14:34.000000000 +0400
@@ -321,7 +321,7 @@

#if (defined(REAL_DMA) || defined(REAL_DMA_POLL))

-#if defined(i386) || defined(__alpha__)
+#if defined(__alpha__)

/**
* NCR5380_pc_dma_setup - setup ISA DMA
@@ -425,7 +425,7 @@

return tmp;
}
-#endif /* defined(i386) || defined(__alpha__) */
+#endif /* defined(__alpha__) */
#endif /* defined(REAL_DMA) */
#endif /* __KERNEL__ */
#endif /* ndef ASM */
diff -ru ./linux-2.6.9-orig/drivers/scsi/NCR53C9x.h ./linux-2.6.9/drivers/scsi/NCR53C9x.h
--- ./linux-2.6.9-orig/drivers/scsi/NCR53C9x.h 2005-03-31 16:26:51.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/NCR53C9x.h 2005-03-31 17:40:02.000000000 +0400
@@ -141,7 +141,7 @@
* Yet, they all live within the same IO space.
*/

-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)

#ifndef MULTIPLE_PAD_SIZES

@@ -233,7 +233,7 @@

#endif

-#else /* !defined(__i386__) && !defined(__x86_64__) */
+#else /* !defined(__x86_64__) */

#define esp_write(__reg, __val) outb((__val), (__reg))
#define esp_read(__reg) inb((__reg))
@@ -268,7 +268,7 @@
#define esp_fgrnd io_addr + 15 /* rw Data base for fifo 0x3c */
};

-#endif /* !defined(__i386__) && !defined(__x86_64__) */
+#endif /* !defined(__x86_64__) */

/* Various revisions of the ESP board. */
enum esp_rev {
diff -ru ./linux-2.6.9-orig/drivers/scsi/scsi_ioctl.c ./linux-2.6.9/drivers/scsi/scsi_ioctl.c
--- ./linux-2.6.9-orig/drivers/scsi/scsi_ioctl.c 2005-03-31 16:26:52.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/scsi_ioctl.c 2005-03-31 17:16:48.000000000 +0400
@@ -193,7 +193,7 @@
* Notes:
* - The SCSI command length is determined by examining the 1st byte
* of the given command. There is no way to override this.
- * - Data transfers are limited to PAGE_SIZE (4K on i386, 8K on alpha).
+ * - Data transfers are limited to PAGE_SIZE (4K on normal arch, 8K on alpha).
* - The length (x + y) must be at least OMAX_SB_LEN bytes long to
* accommodate the sense buffer when an error occurs.
* The sense buffer is truncated to OMAX_SB_LEN (16) bytes so that
diff -ru ./linux-2.6.9-orig/drivers/scsi/seagate.c ./linux-2.6.9/drivers/scsi/seagate.c
--- ./linux-2.6.9-orig/drivers/scsi/seagate.c 2005-03-31 16:26:51.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/seagate.c 2005-03-31 17:13:20.000000000 +0400
@@ -129,9 +129,7 @@
#error Please use -DCONTROLLER=SEAGATE or -DCONTROLLER=FD to override controller type
#endif

-#ifndef __i386__
#undef SEAGATE_USE_ASM
-#endif

/*
Thanks to Brian Antoine for the example code in his Messy-Loss ST-01
@@ -535,9 +533,6 @@
#ifdef PARITY
" PARITY"
#endif
-#ifdef SEAGATE_USE_ASM
- " SEAGATE_USE_ASM"
-#endif
#ifdef SLOW_RATE
" SLOW_RATE"
#endif
@@ -1134,32 +1129,7 @@
SCint->transfersize, len,
data);

- /* SJT: Start. Fast Write */
-#ifdef SEAGATE_USE_ASM
- __asm__ ("cld\n\t"
-#ifdef FAST32
- "shr $2, %%ecx\n\t"
- "1:\t"
- "lodsl\n\t"
- "movl %%eax, (%%edi)\n\t"
-#else
- "1:\t"
- "lodsb\n\t"
- "movb %%al, (%%edi)\n\t"
-#endif
- "loop 1b;"
- /* output */ :
- /* input */ :"D" (st0x_dr),
- "S"
- (data),
- "c" (SCint->transfersize)
-/* clobbered */
- : "eax", "ecx",
- "esi");
-#else /* SEAGATE_USE_ASM */
memcpy_toio(st0x_dr, data, transfersize);
-#endif /* SEAGATE_USE_ASM */
-/* SJT: End */
len -= transfersize;
data += transfersize;
DPRINTK (DEBUG_FAST, "scsi%d : FAST transfer complete len = %d data = %08x\n", hostno, len, data);
@@ -1170,50 +1140,6 @@
* send, and BSY is still active.
*/

-/* SJT: Start. Slow Write. */
-#ifdef SEAGATE_USE_ASM
-
- int __dummy_1, __dummy_2;
-
-/*
- * We loop as long as we are in a data out phase, there is data to send,
- * and BSY is still active.
- */
-/* Local variables : len = ecx , data = esi,
- st0x_cr_sr = ebx, st0x_dr = edi
-*/
- __asm__ (
- /* Test for any data here at all. */
- "orl %%ecx, %%ecx\n\t"
- "jz 2f\n\t" "cld\n\t"
-/* "movl st0x_cr_sr, %%ebx\n\t" */
-/* "movl st0x_dr, %%edi\n\t" */
- "1:\t"
- "movb (%%ebx), %%al\n\t"
- /* Test for BSY */
- "test $1, %%al\n\t"
- "jz 2f\n\t"
- /* Test for data out phase - STATUS & REQ_MASK should be
- REQ_DATAOUT, which is 0. */
- "test $0xe, %%al\n\t"
- "jnz 2f\n\t"
- /* Test for REQ */
- "test $0x10, %%al\n\t"
- "jz 1b\n\t"
- "lodsb\n\t"
- "movb %%al, (%%edi)\n\t"
- "loop 1b\n\t" "2:\n"
- /* output */ :"=S" (data), "=c" (len),
- "=b"
- (__dummy_1),
- "=D" (__dummy_2)
-/* input */
- : "0" (data), "1" (len),
- "2" (st0x_cr_sr),
- "3" (st0x_dr)
-/* clobbered */
- : "eax");
-#else /* SEAGATE_USE_ASM */
while (len) {
unsigned char stat;

@@ -1227,8 +1153,6 @@
--len;
}
}
-#endif /* SEAGATE_USE_ASM */
-/* SJT: End. */
}

if (!len && nobuffs) {
@@ -1272,32 +1196,7 @@
SCint->transfersize, len,
data);

-/* SJT: Start. Fast Read */
-#ifdef SEAGATE_USE_ASM
- __asm__ ("cld\n\t"
-#ifdef FAST32
- "shr $2, %%ecx\n\t"
- "1:\t"
- "movl (%%esi), %%eax\n\t"
- "stosl\n\t"
-#else
- "1:\t"
- "movb (%%esi), %%al\n\t"
- "stosb\n\t"
-#endif
- "loop 1b\n\t"
- /* output */ :
- /* input */ :"S" (st0x_dr),
- "D"
- (data),
- "c" (SCint->transfersize)
-/* clobbered */
- : "eax", "ecx",
- "edi");
-#else /* SEAGATE_USE_ASM */
memcpy_fromio(data, st0x_dr, len);
-#endif /* SEAGATE_USE_ASM */
-/* SJT: End */
len -= transfersize;
data += transfersize;
#if (DEBUG & PHASE_DATAIN)
@@ -1319,53 +1218,6 @@
* and BSY is still active
*/

-/* SJT: Start. */
-#ifdef SEAGATE_USE_ASM
-
- int __dummy_3, __dummy_4;
-
-/* Dummy clobbering variables for the new gcc-2.95 */
-
-/*
- * We loop as long as we are in a data in phase, there is room to read,
- * and BSY is still active
- */
- /* Local variables : ecx = len, edi = data
- esi = st0x_cr_sr, ebx = st0x_dr */
- __asm__ (
- /* Test for room to read */
- "orl %%ecx, %%ecx\n\t"
- "jz 2f\n\t" "cld\n\t"
-/* "movl st0x_cr_sr, %%esi\n\t" */
-/* "movl st0x_dr, %%ebx\n\t" */
- "1:\t"
- "movb (%%esi), %%al\n\t"
- /* Test for BSY */
- "test $1, %%al\n\t"
- "jz 2f\n\t"
- /* Test for data in phase - STATUS & REQ_MASK should be REQ_DATAIN,
- = STAT_IO, which is 4. */
- "movb $0xe, %%ah\n\t"
- "andb %%al, %%ah\n\t"
- "cmpb $0x04, %%ah\n\t"
- "jne 2f\n\t"
- /* Test for REQ */
- "test $0x10, %%al\n\t"
- "jz 1b\n\t"
- "movb (%%ebx), %%al\n\t"
- "stosb\n\t"
- "loop 1b\n\t" "2:\n"
- /* output */ :"=D" (data), "=c" (len),
- "=S"
- (__dummy_3),
- "=b" (__dummy_4)
-/* input */
- : "0" (data), "1" (len),
- "2" (st0x_cr_sr),
- "3" (st0x_dr)
-/* clobbered */
- : "eax");
-#else /* SEAGATE_USE_ASM */
while (len) {
unsigned char stat;

@@ -1379,8 +1231,6 @@
--len;
}
}
-#endif /* SEAGATE_USE_ASM */
-/* SJT: End. */
#if (DEBUG & PHASE_DATAIN)
printk ("scsi%d: transfered -= %d\n", hostno, len);
transfered -= len; /* Since we assumed all of Len got *
diff -ru ./linux-2.6.9-orig/drivers/serial/8250.c ./linux-2.6.9/drivers/serial/8250.c
--- ./linux-2.6.9-orig/drivers/serial/8250.c 2005-03-31 16:26:47.000000000 +0400
+++ ./linux-2.6.9/drivers/serial/8250.c 2005-03-31 17:05:44.000000000 +0400
@@ -782,14 +782,8 @@
*/
scratch = serial_inp(up, UART_IER);
serial_outp(up, UART_IER, 0);
-#ifdef __i386__
- outb(0xff, 0x080);
-#endif
scratch2 = serial_inp(up, UART_IER);
serial_outp(up, UART_IER, 0x0F);
-#ifdef __i386__
- outb(0, 0x080);
-#endif
scratch3 = serial_inp(up, UART_IER);
serial_outp(up, UART_IER, scratch);
if (scratch2 != 0 || scratch3 != 0x0F) {
diff -ru ./linux-2.6.9-orig/drivers/serial/8250.h ./linux-2.6.9/drivers/serial/8250.h
--- ./linux-2.6.9-orig/drivers/serial/8250.h 2005-03-31 16:26:46.000000000 +0400
+++ ./linux-2.6.9/drivers/serial/8250.h 2005-03-31 17:05:22.000000000 +0400
@@ -52,15 +52,7 @@

#undef SERIAL_DEBUG_PCI

-#if defined(__i386__) && (defined(CONFIG_M386) || defined(CONFIG_M486))
-#define SERIAL_INLINE
-#endif
-
-#ifdef SERIAL_INLINE
-#define _INLINE_ inline
-#else
#define _INLINE_
-#endif

#define PROBE_RSA (1 << 0)
#define PROBE_ANY (~0)
diff -ru ./linux-2.6.9-orig/drivers/serial/sunsu.c ./linux-2.6.9/drivers/serial/sunsu.c
--- ./linux-2.6.9-orig/drivers/serial/sunsu.c 2005-03-31 16:26:47.000000000 +0400
+++ ./linux-2.6.9/drivers/serial/sunsu.c 2005-03-31 17:05:55.000000000 +0400
@@ -1151,14 +1151,8 @@
*/
scratch = serial_inp(up, UART_IER);
serial_outp(up, UART_IER, 0);
-#ifdef __i386__
- outb(0xff, 0x080);
-#endif
scratch2 = serial_inp(up, UART_IER);
serial_outp(up, UART_IER, 0x0f);
-#ifdef __i386__
- outb(0, 0x080);
-#endif
scratch3 = serial_inp(up, UART_IER);
serial_outp(up, UART_IER, scratch);
if (scratch2 != 0 || scratch3 != 0x0F)
diff -ru ./linux-2.6.9-orig/drivers/usb/core/devices.c ./linux-2.6.9/drivers/usb/core/devices.c
--- ./linux-2.6.9-orig/drivers/usb/core/devices.c 2005-03-31 16:26:49.000000000 +0400
+++ ./linux-2.6.9/drivers/usb/core/devices.c 2005-03-31 17:06:33.000000000 +0400
@@ -473,7 +473,7 @@

if (level > MAX_TOPO_LEVEL)
return total_written;
- /* allocate 2^1 pages = 8K (on i386); should be more than enough for one device */
+ /* allocate 2^1 pages = 8K (on the normal arch); should be more than enough for one device */
if (!(pages_start = (char*) __get_free_pages(GFP_KERNEL,1)))
return -ENOMEM;

diff -ru ./linux-2.6.9-orig/drivers/usb/media/ov511.c ./linux-2.6.9/drivers/usb/media/ov511.c
--- ./linux-2.6.9-orig/drivers/usb/media/ov511.c 2005-03-31 16:26:47.000000000 +0400
+++ ./linux-2.6.9/drivers/usb/media/ov511.c 2005-03-31 17:06:11.000000000 +0400
@@ -47,10 +47,6 @@
#include <linux/mm.h>
#include <linux/device.h>

-#if defined (__i386__)
- #include <asm/cpufeature.h>
-#endif
-
#include "ov511.h"

/*
@@ -214,7 +210,7 @@
static int i2c_detect_tries = 5;

/* MMX support is present in kernel and CPU. Checked upon decomp module load. */
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__x86_64__)
#define ov51x_mmx_available (cpu_has_mmx)
#else
#define ov51x_mmx_available (0)
diff -ru ./linux-2.6.9-orig/drivers/video/aty/atyfb_base.c ./linux-2.6.9/drivers/video/aty/atyfb_base.c
--- ./linux-2.6.9-orig/drivers/video/aty/atyfb_base.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/aty/atyfb_base.c 2005-03-31 17:21:40.000000000 +0400
@@ -2988,287 +2988,6 @@

#else /* __sparc__ */

-#ifdef __i386__
-#ifdef CONFIG_FB_ATY_GENERIC_LCD
-void aty_init_lcd(struct atyfb_par *par, u32 bios_base)
-{
- u32 driv_inf_tab, sig;
- u16 lcd_ofs;
-
- /* To support an LCD panel, we should know it's dimensions and
- * it's desired pixel clock.
- * There are two ways to do it:
- * - Check the startup video mode and calculate the panel
- * size from it. This is unreliable.
- * - Read it from the driver information table in the video BIOS.
- */
- /* Address of driver information table is at offset 0x78. */
- driv_inf_tab = bios_base + *((u16 *)(bios_base+0x78));
-
- /* Check for the driver information table signature. */
- sig = (*(u32 *)driv_inf_tab);
- if ((sig == 0x54504c24) || /* Rage LT pro */
- (sig == 0x544d5224) || /* Rage mobility */
- (sig == 0x54435824) || /* Rage XC */
- (sig == 0x544c5824)) { /* Rage XL */
- PRINTKI("BIOS contains driver information table.\n");
- lcd_ofs = (*(u16 *)(driv_inf_tab + 10));
- par->lcd_table = 0;
- if (lcd_ofs != 0) {
- par->lcd_table = bios_base + lcd_ofs;
- }
- }
-
- if (par->lcd_table != 0) {
- char model[24];
- char strbuf[16];
- char refresh_rates_buf[100];
- int id, tech, f, i, m, default_refresh_rate;
- char *txtcolour;
- char *txtmonitor;
- char *txtdual;
- char *txtformat;
- u16 width, height, panel_type, refresh_rates;
- u16 *lcdmodeptr;
- u32 format;
- u8 lcd_refresh_rates[16] = {50,56,60,67,70,72,75,76,85,90,100,120,140,150,160,200};
- /* The most important information is the panel size at
- * offset 25 and 27, but there's some other nice information
- * which we print to the screen.
- */
- id = *(u8 *)par->lcd_table;
- strncpy(model,(char *)par->lcd_table+1,24);
- model[23]=0;
-
- width = par->lcd_width = *(u16 *)(par->lcd_table+25);
- height = par->lcd_height = *(u16 *)(par->lcd_table+27);
- panel_type = *(u16 *)(par->lcd_table+29);
- if (panel_type & 1)
- txtcolour = "colour";
- else
- txtcolour = "monochrome";
- if (panel_type & 2)
- txtdual = "dual (split) ";
- else
- txtdual = "";
- tech = (panel_type>>2) & 63;
- switch (tech) {
- case 0:
- txtmonitor = "passive matrix";
- break;
- case 1:
- txtmonitor = "active matrix";
- break;
- case 2:
- txtmonitor = "active addressed STN";
- break;
- case 3:
- txtmonitor = "EL";
- break;
- case 4:
- txtmonitor = "plasma";
- break;
- default:
- txtmonitor = "unknown";
- }
- format = *(u32 *)(par->lcd_table+57);
- if (tech == 0 || tech == 2) {
- switch (format & 7) {
- case 0:
- txtformat = "12 bit interface";
- break;
- case 1:
- txtformat = "16 bit interface";
- break;
- case 2:
- txtformat = "24 bit interface";
- break;
- default:
- txtformat = "unkown format";
- }
- } else {
- switch (format & 7) {
- case 0:
- txtformat = "8 colours";
- break;
- case 1:
- txtformat = "512 colours";
- break;
- case 2:
- txtformat = "4096 colours";
- break;
- case 4:
- txtformat = "262144 colours (LT mode)";
- break;
- case 5:
- txtformat = "16777216 colours";
- break;
- case 6:
- txtformat = "262144 colours (FDPI-2 mode)";
- break;
- default:
- txtformat = "unkown format";
- }
- }
- PRINTKI("%s%s %s monitor detected: %s\n",
- txtdual ,txtcolour, txtmonitor, model);
- PRINTKI(" id=%d, %dx%d pixels, %s\n",
- id, width, height, txtformat);
- refresh_rates_buf[0] = 0;
- refresh_rates = *(u16 *)(par->lcd_table+62);
- m = 1;
- f = 0;
- for (i=0;i<16;i++) {
- if (refresh_rates & m) {
- if (f == 0) {
- sprintf(strbuf, "%d", lcd_refresh_rates[i]);
- f++;
- } else {
- sprintf(strbuf, ",%d", lcd_refresh_rates[i]);
- }
- strcat(refresh_rates_buf,strbuf);
- }
- m = m << 1;
- }
- default_refresh_rate = (*(u8 *)(par->lcd_table+61) & 0xf0) >> 4;
- PRINTKI(" supports refresh rates [%s], default %d Hz\n",
- refresh_rates_buf, lcd_refresh_rates[default_refresh_rate]);
- par->lcd_refreshrate = lcd_refresh_rates[default_refresh_rate];
- /* We now need to determine the crtc parameters for the
- * lcd monitor. This is tricky, because they are not stored
- * individually in the BIOS. Instead, the BIOS contains a
- * table of display modes that work for this monitor.
- *
- * The idea is that we search for a mode of the same dimensions
- * as the dimensions of the lcd monitor. Say our lcd monitor
- * is 800x600 pixels, we search for a 800x600 monitor.
- * The CRTC parameters we find here are the ones that we need
- * to use to simulate other resolutions on the lcd screen.
- */
- lcdmodeptr = (u16 *)(par->lcd_table + 64);
- while (*lcdmodeptr != 0) {
- u32 modeptr;
- u16 mwidth, mheight, lcd_hsync_start, lcd_vsync_start;
- modeptr = bios_base + *lcdmodeptr;
-
- mwidth = *((u16 *)(modeptr+0));
- mheight = *((u16 *)(modeptr+2));
-
- if (mwidth == width && mheight == height) {
- par->lcd_pixclock = 100000000 / *((u16 *)(modeptr+9));
- par->lcd_htotal = *((u16 *)(modeptr+17)) & 511;
- par->lcd_hdisp = *((u16 *)(modeptr+19)) & 511;
- lcd_hsync_start = *((u16 *)(modeptr+21)) & 511;
- par->lcd_hsync_dly = (*((u16 *)(modeptr+21)) >> 9) & 7;
- par->lcd_hsync_len = *((u8 *)(modeptr+23)) & 63;
-
- par->lcd_vtotal = *((u16 *)(modeptr+24)) & 2047;
- par->lcd_vdisp = *((u16 *)(modeptr+26)) & 2047;
- lcd_vsync_start = *((u16 *)(modeptr+28)) & 2047;
- par->lcd_vsync_len = (*((u16 *)(modeptr+28)) >> 11) & 31;
-
- par->lcd_htotal = (par->lcd_htotal + 1) * 8;
- par->lcd_hdisp = (par->lcd_hdisp + 1) * 8;
- lcd_hsync_start = (lcd_hsync_start + 1) * 8;
- par->lcd_hsync_len = par->lcd_hsync_len * 8;
-
- par->lcd_vtotal++;
- par->lcd_vdisp++;
- lcd_vsync_start++;
-
- par->lcd_right_margin = lcd_hsync_start - par->lcd_hdisp;
- par->lcd_lower_margin = lcd_vsync_start - par->lcd_vdisp;
- par->lcd_hblank_len = par->lcd_htotal - par->lcd_hdisp;
- par->lcd_vblank_len = par->lcd_vtotal - par->lcd_vdisp;
- break;
- }
-
- lcdmodeptr++;
- }
- if (*lcdmodeptr == 0) {
- PRINTKE("LCD monitor CRTC parameters not found!!!\n");
- /* To do: Switch to CRT if possible. */
- } else {
- PRINTKI(" LCD CRTC parameters: %d.%d %d %d %d %d %d %d %d %d\n",
- 1000000 / par->lcd_pixclock, 1000000 % par->lcd_pixclock,
- par->lcd_hdisp,
- par->lcd_hdisp + par->lcd_right_margin,
- par->lcd_hdisp + par->lcd_right_margin
- + par->lcd_hsync_dly + par->lcd_hsync_len,
- par->lcd_htotal,
- par->lcd_vdisp,
- par->lcd_vdisp + par->lcd_lower_margin,
- par->lcd_vdisp + par->lcd_lower_margin + par->lcd_vsync_len,
- par->lcd_vtotal);
- PRINTKI(" : %d %d %d %d %d %d %d %d %d\n",
- par->lcd_pixclock,
- par->lcd_hblank_len - (par->lcd_right_margin +
- par->lcd_hsync_dly + par->lcd_hsync_len),
- par->lcd_hdisp,
- par->lcd_right_margin,
- par->lcd_hsync_len,
- par->lcd_vblank_len - (par->lcd_lower_margin + par->lcd_vsync_len),
- par->lcd_vdisp,
- par->lcd_lower_margin,
- par->lcd_vsync_len);
- }
- }
-}
-#endif /* CONFIG_FB_ATY_GENERIC_LCD */
-
-static int __devinit init_from_bios(struct atyfb_par *par)
-{
- u32 bios_base, rom_addr;
- int ret;
-
- rom_addr = 0xc0000 + ((aty_ld_le32(SCRATCH_REG1, par) & 0x7f) << 11);
- bios_base = (unsigned long)ioremap(rom_addr, 0x10000);
-
- /* The BIOS starts with 0xaa55. */
- if (*((u16 *)bios_base) == 0xaa55) {
-
- u8 *bios_ptr;
- u16 rom_table_offset, freq_table_offset;
- PLL_BLOCK_MACH64 pll_block;
-
- PRINTKI("Mach64 BIOS is located at %x, mapped at %x.\n", rom_addr, bios_base);
-
- /* check for frequncy table */
- bios_ptr = (u8*)bios_base;
- rom_table_offset = (u16)(bios_ptr[0x48] | (bios_ptr[0x49] << 8));
- freq_table_offset = bios_ptr[rom_table_offset + 16] | (bios_ptr[rom_table_offset + 17] << 8);
- memcpy(&pll_block, bios_ptr + freq_table_offset, sizeof(PLL_BLOCK_MACH64));
-
- PRINTKI("BIOS frequency table:\n");
- PRINTKI("PCLK_min_freq %d, PCLK_max_freq %d, ref_freq %d, ref_divider %d\n",
- pll_block.PCLK_min_freq, pll_block.PCLK_max_freq,
- pll_block.ref_freq, pll_block.ref_divider);
- PRINTKI("MCLK_pwd %d, MCLK_max_freq %d, XCLK_max_freq %d, SCLK_freq %d\n",
- pll_block.MCLK_pwd, pll_block.MCLK_max_freq,
- pll_block.XCLK_max_freq, pll_block.SCLK_freq);
-
- par->pll_limits.pll_min = pll_block.PCLK_min_freq/100;
- par->pll_limits.pll_max = pll_block.PCLK_max_freq/100;
- par->pll_limits.ref_clk = pll_block.ref_freq/100;
- par->pll_limits.ref_div = pll_block.ref_divider;
- par->pll_limits.sclk = pll_block.SCLK_freq/100;
- par->pll_limits.mclk = pll_block.MCLK_max_freq/100;
- par->pll_limits.mclk_pm = pll_block.MCLK_pwd/100;
- par->pll_limits.xclk = pll_block.XCLK_max_freq/100;
-#ifdef CONFIG_FB_ATY_GENERIC_LCD
- aty_init_lcd(par, bios_base);
-#endif
- ret = 0;
- } else {
- PRINTKE("no BIOS frequency table found, use parameters\n");
- ret = -ENXIO;
- }
- iounmap((void* __iomem )bios_base);
-
- return ret;
-}
-#endif /* __i386__ */
-
static int __devinit atyfb_setup_generic(struct pci_dev *pdev, struct fb_info *info, unsigned long addr)
{
struct atyfb_par *par = info->par;
@@ -3318,10 +3037,6 @@

if((ret = correct_chipset(par)))
goto atyfb_setup_generic_fail;
-#ifdef __i386__
- if((ret = init_from_bios(par)))
- goto atyfb_setup_generic_fail;
-#endif
if (!(aty_ld_le32(CRTC_GEN_CNTL, par) & CRTC_EXT_DISP_EN))
par->clk_wr_offset = (inb(R_GENMO) & 0x0CU) >> 2;
else
diff -ru ./linux-2.6.9-orig/drivers/video/cg6.c ./linux-2.6.9/drivers/video/cg6.c
--- ./linux-2.6.9-orig/drivers/video/cg6.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/cg6.c 2005-03-31 16:42:24.000000000 +0400
@@ -562,7 +562,7 @@
cg6_cpu_name = "68020";
break;
default:
- cg6_cpu_name = "i386";
+ cg6_cpu_name = "m68k";
break;
};
if (((conf >> CG6_FHC_REV_SHIFT) & CG6_FHC_REV_MASK) >= 11) {
diff -ru ./linux-2.6.9-orig/drivers/video/console/sticore.c ./linux-2.6.9/drivers/video/console/sticore.c
--- ./linux-2.6.9-orig/drivers/video/console/sticore.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/console/sticore.c 2005-03-31 16:41:17.000000000 +0400
@@ -834,7 +834,7 @@
i = __raw_readl(address+0x04);
if (i != 1) {
/* The ROM could have multiple architecture
- * dependent images (e.g. i386, parisc,...) */
+ * dependent images (e.g. parisc,...) */
printk(KERN_WARNING
"PCI ROM is not a STI ROM type image (0x%8x)\n", i);
goto out_err;
diff -ru ./linux-2.6.9-orig/drivers/video/fbmem.c ./linux-2.6.9/drivers/video/fbmem.c
--- ./linux-2.6.9-orig/drivers/video/fbmem.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/fbmem.c 2005-03-31 16:37:43.000000000 +0400
@@ -961,7 +961,7 @@
pgprot_val(vma->vm_page_prot) |= _PAGE_NO_CACHE|_PAGE_GUARDED;
#elif defined(__alpha__)
/* Caching is off in the I/O space quadrant by design. */
-#elif defined(__i386__) || defined(__x86_64__)
+#elif defined(__x86_64__)
if (boot_cpu_data.x86 > 3)
pgprot_val(vma->vm_page_prot) |= _PAGE_PCD;
#elif defined(__mips__)
diff -ru ./linux-2.6.9-orig/drivers/video/matrox/matroxfb_base.h ./linux-2.6.9/drivers/video/matrox/matroxfb_base.h
--- ./linux-2.6.9-orig/drivers/video/matrox/matroxfb_base.h 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/matrox/matroxfb_base.h 2005-03-31 16:41:00.000000000 +0400
@@ -156,7 +156,7 @@
}

static inline void mga_memcpy_toio(vaddr_t va, const void* src, int len) {
-#if defined(__alpha__) || defined(__i386__) || defined(__x86_64__)
+#if defined(__alpha__) || defined(__x86_64__)
/*
* memcpy_toio works for us if:
* (1) Copies data as 32bit quantities, not byte after byte,
diff -ru ./linux-2.6.9-orig/drivers/video/radeonfb.c ./linux-2.6.9/drivers/video/radeonfb.c
--- ./linux-2.6.9-orig/drivers/video/radeonfb.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/radeonfb.c 2005-03-31 16:43:14.000000000 +0400
@@ -713,67 +713,6 @@

static void __iomem *radeon_find_rom(struct radeonfb_info *rinfo)
{
-#if defined(__i386__)
- u32 segstart;
- char __iomem *rom_base;
- char __iomem *rom;
- int stage;
- int i,j;
- char aty_rom_sig[] = "761295520";
- char *radeon_sig[] = {
- "RG6",
- "RADEON"
- };
-
- for(segstart=0x000c0000; segstart<0x000f0000; segstart+=0x00001000) {
-
- stage = 1;
-
- rom_base = ioremap(segstart, 0x1000);
-
- if ((*rom_base == 0x55) && (((*(rom_base + 1)) & 0xff) == 0xaa))
- stage = 2;
-
-
- if (stage != 2) {
- iounmap(rom_base);
- continue;
- }
-
- rom = rom_base;
-
- for (i = 0; (i < 128 - strlen(aty_rom_sig)) && (stage != 3); i++) {
- if (aty_rom_sig[0] == *rom)
- if (strncmp(aty_rom_sig, rom,
- strlen(aty_rom_sig)) == 0)
- stage = 3;
- rom++;
- }
- if (stage != 3) {
- iounmap(rom_base);
- continue;
- }
- rom = rom_base;
-
- for (i = 0; (i < 512) && (stage != 4); i++) {
- for(j = 0;j < sizeof(radeon_sig)/sizeof(char *);j++) {
- if (radeon_sig[j][0] == *rom)
- if (strncmp(radeon_sig[j], rom,
- strlen(radeon_sig[j])) == 0) {
- stage = 4;
- break;
- }
- }
- rom++;
- }
- if (stage != 4) {
- iounmap(rom_base);
- continue;
- }
-
- return rom_base;
- }
-#endif
return NULL;
}

diff -ru ./linux-2.6.9-orig/drivers/video/sgivwfb.c ./linux-2.6.9/drivers/video/sgivwfb.c
--- ./linux-2.6.9-orig/drivers/video/sgivwfb.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/sgivwfb.c 2005-03-31 16:42:54.000000000 +0400
@@ -40,7 +40,6 @@
* The default can be overridden if the driver is compiled as a module
*/

-/* set by arch/i386/kernel/setup.c */
extern unsigned long sgivwfb_mem_phys;
extern unsigned long sgivwfb_mem_size;

diff -ru ./linux-2.6.9-orig/drivers/video/sis/init.c ./linux-2.6.9/drivers/video/sis/init.c
--- ./linux-2.6.9-orig/drivers/video/sis/init.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/sis/init.c 2005-03-31 16:38:45.000000000 +0400
@@ -3455,7 +3455,7 @@
SiSRegInit(SiS_Pr, BaseAddr);
SiS_GetSysFlags(SiS_Pr, HwInfo);

-#if defined(LINUX_XF86) && (defined(i386) || defined(__i386) || defined(__i386__) || defined(__AMD64__))
+#if defined(LINUX_XF86) && defined(__AMD64__)
if(pScrn) SiS_Pr->SiS_VGAINFO = SiS_GetSetBIOSScratch(pScrn, 0x489, 0xff);
else
#endif
@@ -3680,7 +3680,7 @@
SiSRegInit(SiS_Pr, BaseAddr);
SiSInitPtr(SiS_Pr, HwInfo);
SiS_GetSysFlags(SiS_Pr, HwInfo);
-#if (defined(i386) || defined(__i386) || defined(__i386__) || defined(__AMD64__))
+#if defined(__AMD64__)
SiS_Pr->SiS_VGAINFO = SiS_GetSetBIOSScratch(pScrn, 0x489, 0xff);
#else
SiS_Pr->SiS_VGAINFO = 0x11;
@@ -3860,7 +3860,7 @@
SiSInitPtr(SiS_Pr, HwInfo);
SiSRegInit(SiS_Pr, BaseAddr);
SiS_GetSysFlags(SiS_Pr, HwInfo);
-#if (defined(i386) || defined(__i386) || defined(__i386__) || defined(__AMD64__))
+#if defined(__AMD64__)
SiS_Pr->SiS_VGAINFO = SiS_GetSetBIOSScratch(pScrn, 0x489, 0xff);
#else
SiS_Pr->SiS_VGAINFO = 0x11;
diff -ru ./linux-2.6.9-orig/drivers/video/sis/sis_main.c ./linux-2.6.9/drivers/video/sis/sis_main.c
--- ./linux-2.6.9-orig/drivers/video/sis/sis_main.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/sis/sis_main.c 2005-03-31 16:40:07.000000000 +0400
@@ -138,7 +138,7 @@
sisfb_inverse = 0;
sisfb_fontname[0] = 0;
#endif
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
sisfb_resetcard = 0;
sisfb_videoram = 0;
#endif
@@ -263,7 +263,7 @@
static void __devinit
sisfb_get_vga_mode_from_kernel(void)
{
-#if (defined(__i386__) || defined(__x86_64__)) && defined(CONFIG_VIDEO_SELECT)
+#if defined(__x86_64__) && defined(CONFIG_VIDEO_SELECT)
char mymode[32];
int mydepth = screen_info.lfb_depth;

@@ -3954,7 +3954,7 @@
}
} else if(this_opt[0] >= '0' && this_opt[0] <= '9') {
sisfb_search_mode(this_opt, TRUE);
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
} else if(!strnicmp(this_opt, "resetcard", 9)) {
sisfb_resetcard = 1;
} else if(!strnicmp(this_opt, "videoram:", 9)) {
@@ -3983,7 +3983,7 @@

if(!(myrombase = vmalloc(65536))) return NULL;

-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__x86_64__)

for(temp = 0x000c0000; temp < 0x000f0000; temp += 0x00001000) {

@@ -4324,7 +4324,7 @@
reg &= 0xc3;
outSISIDXREG(SISCR,0x35,reg);
outSISIDXREG(SISCR,0x83,0x00);
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
if(sisfb_videoram) {
outSISIDXREG(SISSR,0x13,0x28); /* ? */
reg = ((sisfb_videoram >> 10) - 1) | 0x40;
@@ -4341,7 +4341,7 @@
outSISIDXREG(SISSR,0x13,0x28); /* ? */
outSISIDXREG(SISSR,0x14,0x47); /* 8MB, 64bit default */
}
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
}
#endif
if(ivideo->sishw_ext.UseROM) {
@@ -4967,7 +4967,7 @@
outSISIDXREG(SISSR, 0x05, 0x86);

if( (!sisvga_enabled)
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
|| (sisfb_resetcard)
#endif
) {
@@ -4982,7 +4982,7 @@
if(reg & 0x7f) {
ivideo->modeprechange = reg & 0x7f;
} else if(sisvga_enabled) {
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__x86_64__)
unsigned char SIS_IOTYPE2 *tt = ioremap(0, 0x1000);
if(tt) {
ivideo->modeprechange = readb(tt + 0x449);
@@ -5089,7 +5089,7 @@
#ifdef CONFIG_FB_SIS_300
if(ivideo->sisvga_engine == SIS_300_VGA) {
if( (!sisvga_enabled)
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
|| (sisfb_resetcard)
#endif
) {
@@ -5103,7 +5103,7 @@
#ifdef CONFIG_FB_SIS_315
if(ivideo->sisvga_engine == SIS_315_VGA) {
if( (!sisvga_enabled)
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
|| (sisfb_resetcard)
#endif
) {
@@ -5733,7 +5733,7 @@
static int lvdshl = -1;
static int tvxposoffset = 0, tvyposoffset = 0;
static int filter = -1;
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
static int resetcard = 0;
static int videoram = 0;
#endif
@@ -5765,7 +5765,7 @@
MODULE_PARM(filter, "i");
MODULE_PARM(nocrt2rate, "i");
MODULE_PARM(inverse, "i");
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
MODULE_PARM(resetcard, "i");
MODULE_PARM(videoram, "i");
#endif
@@ -5793,7 +5793,7 @@
module_param(tvyposoffset, int, 0);
module_param(filter, int, 0);
module_param(nocrt2rate, int, 0);
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
module_param(resetcard, int, 0);
module_param(videoram, int, 0);
#endif
@@ -5925,7 +5925,7 @@
"does not seem to work. (default: 0)\n");
#endif

-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
#ifdef CONFIG_FB_SIS_300
MODULE_PARM_DESC(resetcard,
"\nSet this to 1 in order to reset (POST) the card on non-x86 machines where\n"
@@ -6001,7 +6001,7 @@
sisfb_tvxposoffset = tvxposoffset;
sisfb_tvyposoffset = tvyposoffset;

-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
sisfb_resetcard = (resetcard) ? 1 : 0;
if(videoram) sisfb_videoram = videoram;
#endif
diff -ru ./linux-2.6.9-orig/drivers/video/sis/sis_main.h ./linux-2.6.9/drivers/video/sis/sis_main.h
--- ./linux-2.6.9-orig/drivers/video/sis/sis_main.h 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/sis/sis_main.h 2005-03-31 16:38:00.000000000 +0400
@@ -99,7 +99,7 @@
static int sisfb_inverse = 0;
static char sisfb_fontname[40];
#endif
-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
static int sisfb_resetcard = 0;
static int sisfb_videoram = 0;
#endif
diff -ru ./linux-2.6.9-orig/drivers/video/vesafb.c ./linux-2.6.9/drivers/video/vesafb.c
--- ./linux-2.6.9-orig/drivers/video/vesafb.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/video/vesafb.c 2005-03-31 16:42:03.000000000 +0400
@@ -1,9 +1,6 @@
/*
* framebuffer driver for VBE 2.0 compliant graphic boards
*
- * switching to graphics mode happens at boot time (while
- * running in real mode, see arch/i386/boot/video.S).
- *
* (c) 1998 Gerd Knorr <kraxel@xxxxxxxxxxxxxxxxxxxxx>
*
*/
@@ -19,9 +16,6 @@
#include <linux/fb.h>
#include <linux/ioport.h>
#include <linux/init.h>
-#ifdef __i386__
-#include <video/edid.h>
-#endif
#include <asm/io.h>
#include <asm/mtrr.h>

@@ -63,61 +57,12 @@
static int vesafb_pan_display(struct fb_var_screeninfo *var,
struct fb_info *info)
{
-#ifdef __i386__
- int offset;
-
- if (!ypan)
- return -EINVAL;
- if (var->xoffset)
- return -EINVAL;
- if (var->yoffset > var->yres_virtual)
- return -EINVAL;
- if ((ypan==1) && var->yoffset+var->yres > var->yres_virtual)
- return -EINVAL;
-
- offset = (var->yoffset * info->fix.line_length + var->xoffset) / 4;
-
- __asm__ __volatile__(
- "call *(%%edi)"
- : /* no return value */
- : "a" (0x4f07), /* EAX */
- "b" (0), /* EBX */
- "c" (offset), /* ECX */
- "d" (offset >> 16), /* EDX */
- "D" (&pmi_start)); /* EDI */
-#endif
return 0;
}

static void vesa_setpalette(int regno, unsigned red, unsigned green,
unsigned blue)
{
-#ifdef __i386__
- struct { u_char blue, green, red, pad; } entry;
- int shift = 16 - depth;
-
- if (pmi_setpal) {
- entry.red = red >> shift;
- entry.green = green >> shift;
- entry.blue = blue >> shift;
- entry.pad = 0;
- __asm__ __volatile__(
- "call *(%%esi)"
- : /* no return value */
- : "a" (0x4f09), /* EAX */
- "b" (0), /* EBX */
- "c" (1), /* ECX */
- "d" (regno), /* EDX */
- "D" (&entry), /* EDI */
- "S" (&pmi_pal)); /* ESI */
- } else {
- /* without protected mode interface, try VGA registers... */
- outb_p(regno, dac_reg);
- outb_p(red >> shift, dac_val);
- outb_p(green >> shift, dac_val);
- outb_p(blue >> shift, dac_val);
- }
-#endif
}

static int vesafb_setcolreg(unsigned regno, unsigned red, unsigned green,
@@ -268,10 +213,6 @@
size_remap = size_total;
vesafb_fix.smem_len = size_remap;

-#ifndef __i386__
- screen_info.vesapm_seg = 0;
-#endif
-
if (!request_mem_region(vesafb_fix.smem_start, size_total, "vesafb")) {
printk(KERN_WARNING
"vesafb: abort, cannot reserve video memory at 0x%lx\n",
diff -ru ./linux-2.6.9-orig/fs/binfmt_aout.c ./linux-2.6.9/fs/binfmt_aout.c
--- ./linux-2.6.9-orig/fs/binfmt_aout.c 2005-03-31 16:27:26.000000000 +0400
+++ ./linux-2.6.9/fs/binfmt_aout.c 2005-03-31 17:34:04.000000000 +0400
@@ -102,7 +102,7 @@
# define START_DATA(u) ((u.u_tsize << PAGE_SHIFT) + u.start_code)
#elif defined(__sparc__)
# define START_DATA(u) (u.u_tsize)
-#elif defined(__i386__) || defined(__mc68000__) || defined(__arch_um__)
+#elif defined(__mc68000__) || defined(__arch_um__)
# define START_DATA(u) (u.u_tsize << PAGE_SHIFT)
#endif
#ifdef __sparc__
@@ -232,7 +232,7 @@
envp = (char __user * __user *) sp;
sp -= argc+1;
argv = (char __user * __user *) sp;
-#if defined(__i386__) || defined(__mc68000__) || defined(__arm__) || defined(__arch_um__)
+#if defined(__mc68000__) || defined(__arm__) || defined(__arch_um__)
put_user((unsigned long) envp,--sp);
put_user((unsigned long) argv,--sp);
#endif
diff -ru ./linux-2.6.9-orig/fs/binfmt_elf_fdpic.c ./linux-2.6.9/fs/binfmt_elf_fdpic.c
--- ./linux-2.6.9-orig/fs/binfmt_elf_fdpic.c 2005-03-31 16:27:27.000000000 +0400
+++ ./linux-2.6.9/fs/binfmt_elf_fdpic.c 2005-03-31 17:34:44.000000000 +0400
@@ -480,20 +480,6 @@

u_platform = (char *) sp;

-#if defined(__i386__) && defined(CONFIG_SMP)
- /* in some cases (e.g. Hyper-Threading), we want to avoid L1 evictions
- * by the processes running on the same package. One thing we can do
- * is to shuffle the initial stack for them.
- *
- * the conditionals here are unneeded, but kept in to make the
- * code behaviour the same as pre change unless we have hyperthreaded
- * processors. This keeps Mr Marcelo Person happier but should be
- * removed for 2.5
- */
- if (smp_num_siblings > 1)
- sp = sp - ((current->pid % 64) << 7);
-#endif
-
sp &= ~7UL;

/* stack the load map(s) */
diff -ru ./linux-2.6.9-orig/fs/ncpfs/ncpsign_kernel.c ./linux-2.6.9/fs/ncpfs/ncpsign_kernel.c
--- ./linux-2.6.9-orig/fs/ncpfs/ncpsign_kernel.c 2005-03-31 16:27:26.000000000 +0400
+++ ./linux-2.6.9/fs/ncpfs/ncpsign_kernel.c 2005-03-31 17:33:08.000000000 +0400
@@ -15,11 +15,6 @@

#define rol32(i,c) (((((i)&0xffffffff)<<c)&0xffffffff)| \
(((i)&0xffffffff)>>(32-c)))
-/* i386: 32-bit, little endian, handles mis-alignment */
-#ifdef __i386__
-#define GET_LE32(p) (*(int *)(p))
-#define PUT_LE32(p,v) { *(int *)(p)=v; }
-#else
/* from include/ncplib.h */
#define BVAL(buf,pos) (((__u8 *)(buf))[pos])
#define PVAL(buf,pos) ((unsigned)BVAL(buf,pos))
@@ -50,19 +45,14 @@

#define GET_LE32(p) DVAL_LH(p,0)
#define PUT_LE32(p,v) DSET_LH(p,0,v)
-#endif

static void nwsign(char *r_data1, char *r_data2, char *outdata) {
int i;
unsigned int w0,w1,w2,w3;
static int rbit[4]={0, 2, 1, 3};
-#ifdef __i386__
- unsigned int *data2=(int *)r_data2;
-#else
unsigned int data2[16];
for (i=0;i<16;i++)
data2[i]=GET_LE32(r_data2+(i<<2));
-#endif
w0=GET_LE32(r_data1);
w1=GET_LE32(r_data1+4);
w2=GET_LE32(r_data1+8);
diff -ru ./linux-2.6.9-orig/fs/open.c ./linux-2.6.9/fs/open.c
--- ./linux-2.6.9-orig/fs/open.c 2005-03-31 16:27:26.000000000 +0400
+++ ./linux-2.6.9/fs/open.c 2005-03-31 17:33:36.000000000 +0400
@@ -964,8 +964,7 @@
#ifndef __alpha__

/*
- * For backward compatibility? Maybe this should be moved
- * into arch/i386 instead?
+ * For backward compatibility?
*/
asmlinkage long sys_creat(const char __user * pathname, int mode)
{
diff -ru ./linux-2.6.9-orig/fs/stat.c ./linux-2.6.9/fs/stat.c
--- ./linux-2.6.9-orig/fs/stat.c 2005-03-31 16:27:26.000000000 +0400
+++ ./linux-2.6.9/fs/stat.c 2005-03-31 17:33:46.000000000 +0400
@@ -110,8 +110,7 @@
#ifdef __ARCH_WANT_OLD_STAT

/*
- * For backward compatibility? Maybe this should be moved
- * into arch/i386 instead?
+ * For backward compatibility?
*/
static int cp_old_stat(struct kstat *stat, struct __old_kernel_stat __user * statbuf)
{
diff -ru ./linux-2.6.9-orig/fs/xfs/linux-2.6/xfs_linux.h ./linux-2.6.9/fs/xfs/linux-2.6/xfs_linux.h
--- ./linux-2.6.9-orig/fs/xfs/linux-2.6/xfs_linux.h 2005-03-31 16:27:23.000000000 +0400
+++ ./linux-2.6.9/fs/xfs/linux-2.6/xfs_linux.h 2005-03-31 17:32:40.000000000 +0400
@@ -260,67 +260,6 @@

/* Move the kernel do_div definition off to one side */

-#if defined __i386__
-/* For ia32 we need to pull some tricks to get past various versions
- * of the compiler which do not like us using do_div in the middle
- * of large functions.
- */
-static inline __u32 xfs_do_div(void *a, __u32 b, int n)
-{
- __u32 mod;
-
- switch (n) {
- case 4:
- mod = *(__u32 *)a % b;
- *(__u32 *)a = *(__u32 *)a / b;
- return mod;
- case 8:
- {
- unsigned long __upper, __low, __high, __mod;
- __u64 c = *(__u64 *)a;
- __upper = __high = c >> 32;
- __low = c;
- if (__high) {
- __upper = __high % (b);
- __high = __high / (b);
- }
- asm("divl %2":"=a" (__low), "=d" (__mod):"rm" (b), "0" (__low), "1" (__upper));
- asm("":"=A" (c):"a" (__low),"d" (__high));
- *(__u64 *)a = c;
- return __mod;
- }
- }
-
- /* NOTREACHED */
- return 0;
-}
-
-/* Side effect free 64 bit mod operation */
-static inline __u32 xfs_do_mod(void *a, __u32 b, int n)
-{
- switch (n) {
- case 4:
- return *(__u32 *)a % b;
- case 8:
- {
- unsigned long __upper, __low, __high, __mod;
- __u64 c = *(__u64 *)a;
- __upper = __high = c >> 32;
- __low = c;
- if (__high) {
- __upper = __high % (b);
- __high = __high / (b);
- }
- asm("divl %2":"=a" (__low), "=d" (__mod):"rm" (b), "0" (__low), "1" (__upper));
- asm("":"=A" (c):"a" (__low),"d" (__high));
- return __mod;
- }
- }
-
- /* NOTREACHED */
- return 0;
-}
-#else
static inline __u32 xfs_do_div(void *a, __u32 b, int n)
{
__u32 mod;
@@ -355,7 +294,6 @@
/* NOTREACHED */
return 0;
}
-#endif

#undef do_div
#define do_div(a, b) xfs_do_div(&(a), (b), sizeof(a))
diff -ru ./linux-2.6.9-orig/Makefile ./linux-2.6.9/Makefile
--- ./linux-2.6.9-orig/Makefile 2005-03-31 16:27:40.000000000 +0400
+++ ./linux-2.6.9/Makefile 2005-03-31 16:34:43.000000000 +0400
@@ -166,7 +166,7 @@
# then ARCH is assigned, getting whatever value it gets normally, and
# SUBARCH is subsequently ignored.

-SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
+SUBARCH := $(shell uname -m | sed -e s/i.86/x86_64/ -e s/sun4u/sparc64/ \
-e s/arm.*/arm/ -e s/sa110/arm/ \
-e s/s390x/s390/ -e s/parisc64/parisc/ )

diff -ru ./linux-2.6.9-orig/net/ipv4/netfilter/ip_conntrack_core.c ./linux-2.6.9/net/ipv4/netfilter/ip_conntrack_core.c
--- ./linux-2.6.9-orig/net/ipv4/netfilter/ip_conntrack_core.c 2005-03-31 16:27:27.000000000 +0400
+++ ./linux-2.6.9/net/ipv4/netfilter/ip_conntrack_core.c 2005-03-31 17:35:02.000000000 +0400
@@ -1151,7 +1151,7 @@
unsigned int i;
int ret;

- /* Idea from tcp.c: use 1/16384 of memory. On i386: 32MB
+ /* Idea from tcp.c: use 1/16384 of memory. On normal machine: 32MB
* machine has 256 buckets. >= 1GB machines have 8192 buckets. */
if (hashsize) {
ip_conntrack_htable_size = hashsize;
diff -ru ./linux-2.6.9-orig/scripts/genksyms/parse.c_shipped ./linux-2.6.9/scripts/genksyms/parse.c_shipped
--- ./linux-2.6.9-orig/scripts/genksyms/parse.c_shipped 2005-03-31 16:27:31.000000000 +0400
+++ ./linux-2.6.9/scripts/genksyms/parse.c_shipped 2005-03-31 17:35:36.000000000 +0400
@@ -476,7 +476,7 @@
#define YYSTACK_USE_ALLOCA
#define alloca __builtin_alloca
#else /* not GNU C. */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
+#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun))
#define YYSTACK_USE_ALLOCA
#include <alloca.h>
#else /* not sparc */
diff -ru ./linux-2.6.9-orig/scripts/namespace.pl ./linux-2.6.9/scripts/namespace.pl
--- ./linux-2.6.9-orig/scripts/namespace.pl 2005-03-31 16:27:31.000000000 +0400
+++ ./linux-2.6.9/scripts/namespace.pl 2005-03-31 17:36:10.000000000 +0400
@@ -105,7 +105,6 @@
if (/.*\.o$/ &&
! (
m:/built-in.o$:
- || m:arch/i386/kernel/vsyscall-syms.o$:
|| m:arch/ia64/ia32/ia32.o$:
|| m:arch/ia64/kernel/gate-syms.o$:
|| m:arch/ia64/lib/__divdi3.o$:
@@ -326,13 +325,6 @@
&drop_def("kernel/sys.o", $name);
next;
}
- # Special case for i386 entry code
- if ($#{$def{$name}} == 1 && $name =~ /^__kernel_/ &&
- $def{$name}[0] eq "arch/i386/kernel/vsyscall-int80.o" &&
- $def{$name}[1] eq "arch/i386/kernel/vsyscall-sysenter.o") {
- &drop_def("arch/i386/kernel/vsyscall-sysenter.o", $name);
- next;
- }
printf "$name is multiply defined in :-\n";
foreach $module (@{$def{$name}}) {
printf "\t$module\n";

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/