2005-04-01 12:43:28

by Evgeniy Polyakov

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

Hello, developers.

In order to compete with the new upcoming releases of the
various OSes, and to join all developers efforts into the
one really promising and powerfull direction,
I present you following patch,
which removes absolutely unused in a real world,
unsupported by vendors and definitely hard to build
from commodity hardware arch.
Due to it's famous bugability there are tons of quirks
all over the place in the Kernel tree, so it is only
begining.
Let's create our OS the best all over the world - let's remove i386.

Signed-off-by: Evgeniy Polyakov <[email protected]>


2005-04-01 12:47:31

by Evgeniy Polyakov

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


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 <[email protected]>
*
*/
@@ -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";

2005-04-01 12:52:38

by Evgeniy Polyakov

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


diff -ru ./linux-2.6.9-orig/arch/arm/Kconfig ./linux-2.6.9/arch/arm/Kconfig
--- ./linux-2.6.9-orig/arch/arm/Kconfig 2005-03-31 16:27:02.000000000 +0400
+++ ./linux-2.6.9/arch/arm/Kconfig 2005-03-31 17:41:31.000000000 +0400
@@ -278,7 +278,7 @@
run faster if you say N here.

See also the <file:Documentation/smp.tex>,
- <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
+ <file:Documentation/smp.txt>,
<file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
<http://www.linuxdoc.org/docs.html#howto>.

diff -ru ./linux-2.6.9-orig/arch/ppc/boot/utils/mkbugboot.c ./linux-2.6.9/arch/ppc/boot/utils/mkbugboot.c
--- ./linux-2.6.9-orig/arch/ppc/boot/utils/mkbugboot.c 2005-03-31 16:27:00.000000000 +0400
+++ ./linux-2.6.9/arch/ppc/boot/utils/mkbugboot.c 2005-03-31 17:40:33.000000000 +0400
@@ -27,13 +27,8 @@
#include <stdint.h>
#endif

-#ifdef __i386__
-#define cpu_to_be32(x) le32_to_cpu(x)
-#define cpu_to_be16(x) le16_to_cpu(x)
-#else
#define cpu_to_be32(x) (x)
#define cpu_to_be16(x) (x)
-#endif

#define cpu_to_le32(x) le32_to_cpu((x))
unsigned long le32_to_cpu(unsigned long x)
diff -ru ./linux-2.6.9-orig/arch/ppc/boot/utils/mkprep.c ./linux-2.6.9/arch/ppc/boot/utils/mkprep.c
--- ./linux-2.6.9-orig/arch/ppc/boot/utils/mkprep.c 2005-03-31 16:27:00.000000000 +0400
+++ ./linux-2.6.9/arch/ppc/boot/utils/mkprep.c 2005-03-31 17:40:52.000000000 +0400
@@ -163,13 +163,8 @@
bzero( block, sizeof block );

/* set entry point and boot image size skipping over elf header */
-#ifdef __i386__
- *entry = 0x400/*+65536*/;
- *length = info.st_size-elfhdr_size+0x400;
-#else
*entry = cpu_to_le32(0x400/*+65536*/);
*length = cpu_to_le32(info.st_size-elfhdr_size+0x400);
-#endif /* __i386__ */

/* sets magic number for msdos partition (used by linux) */
block[510] = 0x55;
@@ -206,18 +201,10 @@
pe.beginning_sector = cpu_to_le32(1);
#else
/* This has to be 0 on the PowerStack? */
-#ifdef __i386__
- pe.beginning_sector = 0;
-#else
pe.beginning_sector = cpu_to_le32(0);
-#endif /* __i386__ */
#endif

-#ifdef __i386__
- pe.number_of_sectors = 2*18*80-1;
-#else
pe.number_of_sectors = cpu_to_le32(2*18*80-1);
-#endif /* __i386__ */

memcpy(&block[0x1BE], &pe, sizeof(pe));

diff -ru ./linux-2.6.9-orig/arch/um/Makefile-x86_64 ./linux-2.6.9/arch/um/Makefile-x86_64
--- ./linux-2.6.9-orig/arch/um/Makefile-x86_64 2005-03-31 16:27:10.000000000 +0400
+++ ./linux-2.6.9/arch/um/Makefile-x86_64 2005-03-31 17:43:05.000000000 +0400
@@ -7,7 +7,7 @@
CFLAGS += -U__$(SUBARCH)__ -fno-builtin
ARCH_USER_CFLAGS := -D__x86_64__

-ELF_ARCH := i386:x86-64
+ELF_ARCH := x86-64
ELF_FORMAT := elf64-x86-64

SYS_UTIL_DIR := $(ARCH_DIR)/sys-x86_64/util
diff -ru ./linux-2.6.9-orig/arch/um/os-Linux/user_syms.c ./linux-2.6.9/arch/um/os-Linux/user_syms.c
--- ./linux-2.6.9-orig/arch/um/os-Linux/user_syms.c 2005-03-31 16:27:10.000000000 +0400
+++ ./linux-2.6.9/arch/um/os-Linux/user_syms.c 2005-03-31 17:42:32.000000000 +0400
@@ -34,11 +34,6 @@
int sym(void); \
EXPORT_SYMBOL(sym);

-#ifdef SUBARCH_i386
-EXPORT_SYMBOL(vsyscall_ehdr);
-EXPORT_SYMBOL(vsyscall_end);
-#endif
-
EXPORT_SYMBOL_PROTO(__errno_location);

EXPORT_SYMBOL_PROTO(access);
diff -ru ./linux-2.6.9-orig/arch/x86_64/kernel/acpi/Makefile ./linux-2.6.9/arch/x86_64/kernel/acpi/Makefile
--- ./linux-2.6.9-orig/arch/x86_64/kernel/acpi/Makefile 2005-03-31 16:27:10.000000000 +0400
+++ ./linux-2.6.9/arch/x86_64/kernel/acpi/Makefile 2005-03-31 17:44:14.000000000 +0400
@@ -1,3 +1 @@
-obj-$(CONFIG_ACPI_BOOT) := boot.o
-boot-$(CONFIG_ACPI_BOOT) := ../../../i386/kernel/acpi/boot.o
obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o
diff -ru ./linux-2.6.9-orig/arch/x86_64/kernel/early_printk.c ./linux-2.6.9/arch/x86_64/kernel/early_printk.c
--- ./linux-2.6.9-orig/arch/x86_64/kernel/early_printk.c 2005-03-31 16:27:10.000000000 +0400
+++ ./linux-2.6.9/arch/x86_64/kernel/early_printk.c 2005-03-31 17:45:58.000000000 +0400
@@ -7,11 +7,7 @@

/* Simple VGA output */

-#ifdef __i386__
-#define VGABASE (__ISA_IO_base + 0xb8000)
-#else
#define VGABASE ((void __iomem *)0xffffffff800b8000UL)
-#endif

#define MAX_YPOS 25
#define MAX_XPOS 80
diff -ru ./linux-2.6.9-orig/arch/x86_64/kernel/Makefile ./linux-2.6.9/arch/x86_64/kernel/Makefile
--- ./linux-2.6.9-orig/arch/x86_64/kernel/Makefile 2005-03-31 16:27:10.000000000 +0400
+++ ./linux-2.6.9/arch/x86_64/kernel/Makefile 2005-03-31 18:53:34.000000000 +0400
@@ -11,8 +11,6 @@

obj-$(CONFIG_X86_MCE) += mce.o
obj-$(CONFIG_X86_MCE_INTEL) += mce_intel.o
-obj-$(CONFIG_MTRR) += ../../i386/kernel/cpu/mtrr/
-obj-$(CONFIG_ACPI_BOOT) += acpi/
obj-$(CONFIG_X86_MSR) += msr.o
obj-$(CONFIG_MICROCODE) += microcode.o
obj-$(CONFIG_X86_CPUID) += cpuid.o
diff -ru ./linux-2.6.9-orig/drivers/acpi/numa.c ./linux-2.6.9/drivers/acpi/numa.c
--- ./linux-2.6.9-orig/drivers/acpi/numa.c 2005-03-31 16:26:46.000000000 +0400
+++ ./linux-2.6.9/drivers/acpi/numa.c 2005-03-31 17:04:50.000000000 +0400
@@ -95,7 +95,7 @@

slit = (struct acpi_table_slit *) __va(phys_addr);

- /* downcast just for %llu vs %lu for i386/ia64 */
+ /* downcast just for %llu vs %lu for ia64 */
localities = (u32) slit->localities;

acpi_numa_slit_init(slit);
diff -ru ./linux-2.6.9-orig/drivers/acpi/osl.c ./linux-2.6.9/drivers/acpi/osl.c
--- ./linux-2.6.9-orig/drivers/acpi/osl.c 2005-03-31 16:26:46.000000000 +0400
+++ ./linux-2.6.9/drivers/acpi/osl.c 2005-03-31 17:04:33.000000000 +0400
@@ -1017,7 +1017,7 @@
u8
acpi_os_readable(void *ptr, acpi_size len)
{
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__x86_64__)
char tmp;
return !__get_user(tmp, (char __user *)ptr) && !__get_user(tmp, (char __user *)ptr + len - 1);
#endif
diff -ru ./linux-2.6.9-orig/drivers/atm/eni.c ./linux-2.6.9/drivers/atm/eni.c
--- ./linux-2.6.9-orig/drivers/atm/eni.c 2005-03-31 16:26:57.000000000 +0400
+++ ./linux-2.6.9/drivers/atm/eni.c 2005-03-31 17:24:42.000000000 +0400
@@ -31,7 +31,7 @@
#include "suni.h"
#include "eni.h"

-#if !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__x86_64__)
#ifndef ioremap_nocache
#define ioremap_nocache(X,Y) ioremap(X,Y)
#endif
diff -ru ./linux-2.6.9-orig/drivers/atm/fore200e.c ./linux-2.6.9/drivers/atm/fore200e.c
--- ./linux-2.6.9-orig/drivers/atm/fore200e.c 2005-03-31 16:26:58.000000000 +0400
+++ ./linux-2.6.9/drivers/atm/fore200e.c 2005-03-31 17:24:59.000000000 +0400
@@ -7,7 +7,7 @@
Based on the PCA-200E driver from Uwe Dannowski ([email protected]).

This driver simultaneously supports PCA-200E and SBA-200E adapters
- on i386, alpha (untested), powerpc, sparc and sparc64 architectures.
+ on alpha (untested), powerpc, sparc and sparc64 architectures.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff -ru ./linux-2.6.9-orig/drivers/base/dmapool.c ./linux-2.6.9/drivers/base/dmapool.c
--- ./linux-2.6.9-orig/drivers/base/dmapool.c 2005-03-31 16:26:44.000000000 +0400
+++ ./linux-2.6.9/drivers/base/dmapool.c 2005-03-31 16:54:19.000000000 +0400
@@ -1,8 +1,6 @@

#include <linux/device.h>
#include <linux/mm.h>
-#include <asm/io.h> /* Needed for i386 to build */
-#include <asm/scatterlist.h> /* Needed for i386 to build */
#include <linux/dma-mapping.h>
#include <linux/dmapool.h>
#include <linux/slab.h>
diff -ru ./linux-2.6.9-orig/drivers/block/floppy.c ./linux-2.6.9/drivers/block/floppy.c
--- ./linux-2.6.9-orig/drivers/block/floppy.c 2005-03-31 16:26:56.000000000 +0400
+++ ./linux-2.6.9/drivers/block/floppy.c 2005-03-31 17:18:29.000000000 +0400
@@ -1832,7 +1832,7 @@
reset_fdc_info(0);

/* Pseudo-DMA may intercept 'reset finished' interrupt. */
- /* Irrelevant for systems with true DMA (i386). */
+ /* Irrelevant for systems with true DMA. */

flags = claim_dma_lock();
fd_disable_dma();
diff -ru ./linux-2.6.9-orig/drivers/char/agp/amd64-agp.c ./linux-2.6.9/drivers/char/agp/amd64-agp.c
--- ./linux-2.6.9-orig/drivers/char/agp/amd64-agp.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/agp/amd64-agp.c 2005-03-31 16:57:49.000000000 +0400
@@ -370,7 +370,6 @@
if (fix_northbridge(loop_dev, pdev, cap_ptr) < 0) {
printk(KERN_ERR PFX "No usable aperture found.\n");
#ifdef __x86_64__
- /* should port this to i386 */
printk(KERN_ERR PFX "Consider rebooting with iommu=memaper=2 to get a good aperture.\n");
#endif
return -1;
diff -ru ./linux-2.6.9-orig/drivers/char/drm/ati_pcigart.c ./linux-2.6.9/drivers/char/drm/ati_pcigart.c
--- ./linux-2.6.9-orig/drivers/char/drm/ati_pcigart.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/drm/ati_pcigart.c 2005-03-31 16:57:01.000000000 +0400
@@ -194,7 +194,7 @@

ret = 1;

-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__x86_64__)
wbinvd();
#else
mb();
diff -ru ./linux-2.6.9-orig/drivers/char/drm/drm_init.c ./linux-2.6.9/drivers/char/drm/drm_init.c
--- ./linux-2.6.9-orig/drivers/char/drm/drm_init.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/drm/drm_init.c 2005-03-31 16:56:20.000000000 +0400
@@ -42,9 +42,6 @@
*/
int drm_cpu_valid(void)
{
-#if defined(__i386__)
- if (boot_cpu_data.x86 == 3) return 0; /* No cmpxchg on a 386 */
-#endif
#if defined(__sparc__) && !defined(__sparc_v9__)
return 0; /* No cmpxchg before v9 sparc. */
#endif
diff -ru ./linux-2.6.9-orig/drivers/char/drm/drm_proc.c ./linux-2.6.9/drivers/char/drm/drm_proc.c
--- ./linux-2.6.9-orig/drivers/char/drm/drm_proc.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/drm/drm_proc.c 2005-03-31 16:56:46.000000000 +0400
@@ -473,9 +473,6 @@
int len = 0;
drm_vma_entry_t *pt;
struct vm_area_struct *vma;
-#if defined(__i386__)
- unsigned int pgprot;
-#endif

if (offset > DRM_PROC_LIMIT) {
*eof = 1;
@@ -502,19 +499,6 @@
vma->vm_flags & VM_IO ? 'i' : '-',
VM_OFFSET(vma));

-#if defined(__i386__)
- pgprot = pgprot_val(vma->vm_page_prot);
- DRM_PROC_PRINT(" %c%c%c%c%c%c%c%c%c",
- pgprot & _PAGE_PRESENT ? 'p' : '-',
- pgprot & _PAGE_RW ? 'w' : 'r',
- pgprot & _PAGE_USER ? 'u' : 's',
- pgprot & _PAGE_PWT ? 't' : 'b',
- pgprot & _PAGE_PCD ? 'u' : 'c',
- pgprot & _PAGE_ACCESSED ? 'a' : '-',
- pgprot & _PAGE_DIRTY ? 'd' : '-',
- pgprot & _PAGE_PSE ? 'm' : 'k',
- pgprot & _PAGE_GLOBAL ? 'g' : 'l' );
-#endif
DRM_PROC_PRINT("\n");
}

diff -ru ./linux-2.6.9-orig/drivers/char/drm/drm_vm.c ./linux-2.6.9/drivers/char/drm/drm_vm.c
--- ./linux-2.6.9-orig/drivers/char/drm/drm_vm.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/drm/drm_vm.c 2005-03-31 16:56:33.000000000 +0400
@@ -575,7 +575,7 @@

if (!capable(CAP_SYS_ADMIN) && (map->flags & _DRM_READ_ONLY)) {
vma->vm_flags &= ~(VM_WRITE | VM_MAYWRITE);
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__x86_64__)
pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW;
#else
/* Ye gads this is ugly. With more thought
@@ -604,7 +604,7 @@
case _DRM_FRAME_BUFFER:
case _DRM_REGISTERS:
if (VM_OFFSET(vma) >= __pa(high_memory)) {
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__x86_64__)
if (boot_cpu_data.x86 > 3 && map->type != _DRM_AGP) {
pgprot_val(vma->vm_page_prot) |= _PAGE_PCD;
pgprot_val(vma->vm_page_prot) &= ~_PAGE_PWT;
diff -ru ./linux-2.6.9-orig/drivers/char/ftape/lowlevel/ftape-calibr.c ./linux-2.6.9/drivers/char/ftape/lowlevel/ftape-calibr.c
--- ./linux-2.6.9-orig/drivers/char/ftape/lowlevel/ftape-calibr.c 2005-03-31 16:26:44.000000000 +0400
+++ ./linux-2.6.9/drivers/char/ftape/lowlevel/ftape-calibr.c 2005-03-31 16:55:18.000000000 +0400
@@ -34,8 +34,6 @@
#elif defined(__x86_64__)
# include <asm/msr.h>
# include <asm/timex.h>
-#elif defined(__i386__)
-# include <linux/timex.h>
#endif
#include <linux/ftape.h>
#include "../lowlevel/ftape-tracing.h"
@@ -44,7 +42,7 @@

#undef DEBUG

-#if !defined(__alpha__) && !defined(__i386__) && !defined(__x86_64__)
+#if !defined(__alpha__) && !defined(__x86_64__)
# error Ftape is not implemented for this architecture!
#endif

@@ -79,25 +77,6 @@
unsigned long r;
rdtscl(r);
return r;
-#elif defined(__i386__)
-
-/*
- * Note that there is some time between counter underflowing and jiffies
- * increasing, so the code below won't always give correct output.
- * -Vojtech
- */
-
- unsigned long flags;
- __u16 lo;
- __u16 hi;
-
- spin_lock_irqsave(&calibr_lock, flags);
- outb_p(0x00, 0x43); /* latch the count ASAP */
- lo = inb_p(0x40); /* read the latched count */
- lo |= inb(0x40) << 8;
- hi = jiffies;
- spin_unlock_irqrestore(&calibr_lock, flags);
- return ((hi + 1) * (unsigned int) LATCH) - lo; /* downcounter ! */
#endif
}

@@ -105,16 +84,6 @@
{
#if defined(__alpha__) || defined(__x86_64__)
return ftape_timestamp();
-#elif defined(__i386__)
- unsigned int count;
- unsigned long flags;
-
- spin_lock_irqsave(&calibr_lock, flags);
- outb_p(0x00, 0x43); /* latch the count ASAP */
- count = inb_p(0x40); /* read the latched count */
- count |= inb(0x40) << 8;
- spin_unlock_irqrestore(&calibr_lock, flags);
- return (LATCH - count); /* normal: downcounter */
#endif
}

@@ -122,15 +91,6 @@
{
#if defined(__alpha__) || defined(__x86_64__)
return (t1 - t0);
-#elif defined(__i386__)
- /*
- * This is tricky: to work for both short and full ftape_timestamps
- * we'll have to discriminate between these.
- * If it _looks_ like short stamps with wrapping around we'll
- * asume it are. This will generate a small error if it really
- * was a (very large) delta from full ftape_timestamps.
- */
- return (t1 <= t0 && t0 <= LATCH) ? t1 + LATCH - t0 : t1 - t0;
#endif
}

@@ -138,8 +98,6 @@
{
#if defined(__alpha__) || defined(__x86_64__)
return (ps_per_cycle * count) / 1000000UL;
-#elif defined(__i386__)
- return (10000 * count) / ((CLOCK_TICK_RATE + 50) / 100);
#endif
}

@@ -147,8 +105,6 @@
{
/*
* Calculate difference in usec for ftape_timestamp results t0 & t1.
- * Note that on the i386 platform with short time-stamps, the
- * maximum allowed timespan is 1/HZ or we'll lose ticks!
*/
return usecs(diff(t0, t1));
}
@@ -202,11 +158,6 @@
unsigned int tc = 0;
unsigned int count;
unsigned int time;
-#if defined(__i386__)
- unsigned int old_tc = 0;
- unsigned int old_count = 1;
- unsigned int old_time = 1;
-#endif
TRACE_FUN(ft_t_flow);

if (first_time) { /* get idea of I/O performance */
@@ -252,19 +203,6 @@
if (time >= 100*1000) {
break;
}
-#elif defined(__i386__)
- /*
- * increase the count until the resulting time nears 2/HZ,
- * then the tc will drop sharply because we lose LATCH counts.
- */
- if (tc <= old_tc / 2) {
- time = old_time;
- count = old_count;
- break;
- }
- old_tc = tc;
- old_count = count;
- old_time = time;
#endif
count *= 2;
}
diff -ru ./linux-2.6.9-orig/drivers/char/mem.c ./linux-2.6.9/drivers/char/mem.c
--- ./linux-2.6.9-orig/drivers/char/mem.c 2005-03-31 16:26:46.000000000 +0400
+++ ./linux-2.6.9/drivers/char/mem.c 2005-03-31 17:01:51.000000000 +0400
@@ -42,34 +42,15 @@
*/
static inline int uncached_access(struct file *file, unsigned long addr)
{
-#if defined(__i386__)
- /*
- * On the PPro and successors, the MTRRs are used to set
- * memory types for physical addresses outside main memory,
- * so blindly setting PCD or PWT on those pages is wrong.
- * For Pentiums and earlier, the surround logic should disable
- * caching for the high addresses through the KEN pin, but
- * we maintain the tradition of paranoia in this code.
- */
- if (file->f_flags & O_SYNC)
- return 1;
- return !( test_bit(X86_FEATURE_MTRR, boot_cpu_data.x86_capability) ||
- test_bit(X86_FEATURE_K6_MTRR, boot_cpu_data.x86_capability) ||
- test_bit(X86_FEATURE_CYRIX_ARR, boot_cpu_data.x86_capability) ||
- test_bit(X86_FEATURE_CENTAUR_MCR, boot_cpu_data.x86_capability) )
- && addr >= __pa(high_memory);
-#elif defined(__x86_64__)
+#if defined(__x86_64__)
/*
* This is broken because it can generate memory type aliases,
* which can cause cache corruptions
- * But it is only available for root and we have to be bug-to-bug
- * compatible with i386.
+ * But it is only available for root.
*/
if (file->f_flags & O_SYNC)
return 1;
- /* same behaviour as i386. PAT always set to cached and MTRRs control the
- caching behaviour.
- Hopefully a full PAT implementation will fix that soon. */
+ /* Hopefully a full PAT implementation will fix that soon. */
return 0;
#elif defined(CONFIG_IA64)
/*
diff -ru ./linux-2.6.9-orig/drivers/char/nvram.c ./linux-2.6.9/drivers/char/nvram.c
--- ./linux-2.6.9-orig/drivers/char/nvram.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/nvram.c 2005-03-31 17:00:41.000000000 +0400
@@ -49,7 +49,7 @@
/* select machine configuration */
#if defined(CONFIG_ATARI)
# define MACH ATARI
-#elif defined(__i386__) || defined(__x86_64__) || defined(__arm__) /* and others?? */
+#elif defined(__x86_64__) || defined(__arm__) /* and others?? */
#define MACH PC
# if defined(CONFIG_COBALT)
# include <linux/cobalt-nvram.h>
diff -ru ./linux-2.6.9-orig/drivers/char/pcmcia/synclink_cs.c ./linux-2.6.9/drivers/char/pcmcia/synclink_cs.c
--- ./linux-2.6.9-orig/drivers/char/pcmcia/synclink_cs.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/pcmcia/synclink_cs.c 2005-03-31 16:59:45.000000000 +0400
@@ -27,11 +27,7 @@
*/

#define VERSION(ver,rel,seq) (((ver)<<16) | ((rel)<<8) | (seq))
-#if defined(__i386__)
-# define BREAKPOINT() asm(" int $3");
-#else
# define BREAKPOINT() { }
-#endif

#define MAX_DEVICE_COUNT 4

diff -ru ./linux-2.6.9-orig/drivers/char/random.c ./linux-2.6.9/drivers/char/random.c
--- ./linux-2.6.9-orig/drivers/char/random.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/random.c 2005-03-31 16:58:46.000000000 +0400
@@ -412,25 +412,10 @@
*
*****************************************************************/

-/*
- * Unfortunately, while the GCC optimizer for the i386 understands how
- * to optimize a static rotate left of x bits, it doesn't know how to
- * deal with a variable rotate of x bits. So we use a bit of asm magic.
- */
-#if (!defined (__i386__))
static inline __u32 rotate_left(int i, __u32 word)
{
return (word << i) | (word >> (32 - i));
}
-#else
-static inline __u32 rotate_left(int i, __u32 word)
-{
- __asm__("roll %%cl,%0"
- :"=r" (word)
- :"0" (word),"c" (i));
- return word;
-}
-#endif

/*
* More asm magic....
@@ -996,7 +981,7 @@
#if SHA_CODE_SIZE == 0
/*
* Approximately 50% of the speed of the largest version, but
- * takes up 1/16 the space. Saves about 6k on an i386 kernel.
+ * takes up 1/16 the space.
*/
for (i = 0; i < 80; i++) {
if (i < 40) {
diff -ru ./linux-2.6.9-orig/drivers/char/rtc.c ./linux-2.6.9/drivers/char/rtc.c
--- ./linux-2.6.9-orig/drivers/char/rtc.c 2005-03-31 16:26:46.000000000 +0400
+++ ./linux-2.6.9/drivers/char/rtc.c 2005-03-31 17:03:02.000000000 +0400
@@ -82,10 +82,6 @@
#include <asm/uaccess.h>
#include <asm/system.h>

-#if defined(__i386__)
-#include <asm/hpet.h>
-#endif
-
#ifdef __sparc__
#include <linux/pci.h>
#include <asm/ebus.h>
diff -ru ./linux-2.6.9-orig/drivers/char/synclink.c ./linux-2.6.9/drivers/char/synclink.c
--- ./linux-2.6.9-orig/drivers/char/synclink.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/synclink.c 2005-03-31 17:39:37.000000000 +0400
@@ -53,11 +53,7 @@
* OF THE POSSIBILITY OF SUCH DAMAGE.
*/

-#if defined(__i386__)
-# define BREAKPOINT() asm(" int $3");
-#else
# define BREAKPOINT() { }
-#endif

#define MAX_ISA_DEVICES 10
#define MAX_PCI_DEVICES 10
diff -ru ./linux-2.6.9-orig/drivers/char/synclinkmp.c ./linux-2.6.9/drivers/char/synclinkmp.c
--- ./linux-2.6.9-orig/drivers/char/synclinkmp.c 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/synclinkmp.c 2005-03-31 16:59:05.000000000 +0400
@@ -26,11 +26,7 @@
*/

#define VERSION(ver,rel,seq) (((ver)<<16) | ((rel)<<8) | (seq))
-#if defined(__i386__)
-# define BREAKPOINT() asm(" int $3");
-#else
# define BREAKPOINT() { }
-#endif

#define MAX_DEVICES 12

diff -ru ./linux-2.6.9-orig/drivers/char/vt_ioctl.c ./linux-2.6.9/drivers/char/vt_ioctl.c
--- ./linux-2.6.9-orig/drivers/char/vt_ioctl.c 2005-03-31 16:26:46.000000000 +0400
+++ ./linux-2.6.9/drivers/char/vt_ioctl.c 2005-03-31 17:03:59.000000000 +0400
@@ -428,24 +428,8 @@
*
* XXX: you should never use these, just call ioperm directly..
*/
-#ifdef CONFIG_X86
- case KDADDIO:
- case KDDELIO:
- /*
- * KDADDIO and KDDELIO may be able to add ports beyond what
- * we reject here, but to be safe...
- */
- if (arg < GPFIRST || arg > GPLAST)
- return -EINVAL;
- return sys_ioperm(arg, 1, (cmd == KDADDIO)) ? -ENXIO : 0;
-
- case KDENABIO:
- case KDDISABIO:
- return sys_ioperm(GPFIRST, GPNUM,
- (cmd == KDENABIO)) ? -ENXIO : 0;
-#endif

- /* Linux m68k/i386 interface for setting the keyboard delay/repeat rate */
+ /* Linux m68k interface for setting the keyboard delay/repeat rate */

case KDKBDREP:
{
diff -ru ./linux-2.6.9-orig/drivers/char/watchdog/Kconfig ./linux-2.6.9/drivers/char/watchdog/Kconfig
--- ./linux-2.6.9-orig/drivers/char/watchdog/Kconfig 2005-03-31 16:26:45.000000000 +0400
+++ ./linux-2.6.9/drivers/char/watchdog/Kconfig 2005-03-31 16:58:03.000000000 +0400
@@ -139,7 +139,7 @@
To compile this driver as a module, choose M here: the
module will be called sa1100_wdt.

-# X86 (i386 + ia64 + x86_64) Architecture
+# X86 (ia64 + x86_64) Architecture

config ACQUIRE_WDT
tristate "Acquire SBC Watchdog Timer"
diff -ru ./linux-2.6.9-orig/drivers/ide/legacy/hd.c ./linux-2.6.9/drivers/ide/legacy/hd.c
--- ./linux-2.6.9-orig/drivers/ide/legacy/hd.c 2005-03-31 16:26:58.000000000 +0400
+++ ./linux-2.6.9/drivers/ide/legacy/hd.c 2005-03-31 17:25:23.000000000 +0400
@@ -724,62 +724,6 @@
device_timer.function = hd_times_out;
blk_queue_hardsect_size(hd_queue, 512);

-#ifdef __i386__
- if (!NR_HD) {
- extern struct drive_info drive_info;
- unsigned char *BIOS = (unsigned char *) &drive_info;
- unsigned long flags;
- int cmos_disks;
-
- for (drive=0 ; drive<2 ; drive++) {
- hd_info[drive].cyl = *(unsigned short *) BIOS;
- hd_info[drive].head = *(2+BIOS);
- hd_info[drive].wpcom = *(unsigned short *) (5+BIOS);
- hd_info[drive].ctl = *(8+BIOS);
- hd_info[drive].lzone = *(unsigned short *) (12+BIOS);
- hd_info[drive].sect = *(14+BIOS);
-#ifdef does_not_work_for_everybody_with_scsi_but_helps_ibm_vp
- if (hd_info[drive].cyl && NR_HD == drive)
- NR_HD++;
-#endif
- BIOS += 16;
- }
-
- /*
- We query CMOS about hard disks : it could be that
- we have a SCSI/ESDI/etc controller that is BIOS
- compatible with ST-506, and thus showing up in our
- BIOS table, but not register compatible, and therefore
- not present in CMOS.
-
- Furthermore, we will assume that our ST-506 drives
- <if any> are the primary drives in the system, and
- the ones reflected as drive 1 or 2.
-
- The first drive is stored in the high nibble of CMOS
- byte 0x12, the second in the low nibble. This will be
- either a 4 bit drive type or 0xf indicating use byte 0x19
- for an 8 bit type, drive 1, 0x1a for drive 2 in CMOS.
-
- Needless to say, a non-zero value means we have
- an AT controller hard disk for that drive.
-
- Currently the rtc_lock is a bit academic since this
- driver is non-modular, but someday... ? Paul G.
- */
-
- spin_lock_irqsave(&rtc_lock, flags);
- cmos_disks = CMOS_READ(0x12);
- spin_unlock_irqrestore(&rtc_lock, flags);
-
- if (cmos_disks & 0xf0) {
- if (cmos_disks & 0x0f)
- NR_HD = 2;
- else
- NR_HD = 1;
- }
- }
-#endif /* __i386__ */
#ifdef __arm__
if (!NR_HD) {
/* We don't know anything about the drive. This means
diff -ru ./linux-2.6.9-orig/drivers/ide/pci/cmd64x.c ./linux-2.6.9/drivers/ide/pci/cmd64x.c
--- ./linux-2.6.9-orig/drivers/ide/pci/cmd64x.c 2005-03-31 16:26:58.000000000 +0400
+++ ./linux-2.6.9/drivers/ide/pci/cmd64x.c 2005-03-31 17:25:39.000000000 +0400
@@ -606,13 +606,6 @@
pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
class_rev &= 0xff;

-#ifdef __i386__
- if (dev->resource[PCI_ROM_RESOURCE].start) {
- pci_write_config_byte(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
- printk(KERN_INFO "%s: ROM enabled at 0x%08lx\n", name, dev->resource[PCI_ROM_RESOURCE].start);
- }
-#endif
-
switch(dev->device) {
case PCI_DEVICE_ID_CMD_643:
break;
@@ -662,11 +655,7 @@
(void) pci_write_config_byte(dev, DRWTIM0, 0x3f);
(void) pci_write_config_byte(dev, ARTTIM1, 0x40);
(void) pci_write_config_byte(dev, DRWTIM1, 0x3f);
-#ifdef __i386__
- (void) pci_write_config_byte(dev, ARTTIM23, 0x1c);
-#else
(void) pci_write_config_byte(dev, ARTTIM23, 0x5c);
-#endif
(void) pci_write_config_byte(dev, DRWTIM23, 0x3f);
(void) pci_write_config_byte(dev, DRWTIM3, 0x3f);
#ifdef CONFIG_PPC
diff -ru ./linux-2.6.9-orig/drivers/input/gameport/gameport.c ./linux-2.6.9/drivers/input/gameport/gameport.c
--- ./linux-2.6.9-orig/drivers/input/gameport/gameport.c 2005-03-31 16:26:57.000000000 +0400
+++ ./linux-2.6.9/drivers/input/gameport/gameport.c 2005-03-31 17:24:29.000000000 +0400
@@ -35,60 +35,12 @@
static LIST_HEAD(gameport_list);
static LIST_HEAD(gameport_dev_list);

-#ifdef __i386__
-
-#define DELTA(x,y) ((y)-(x)+((y)<(x)?1193182/HZ:0))
-#define GET_TIME(x) do { x = get_time_pit(); } while (0)
-
-static unsigned int get_time_pit(void)
-{
- extern spinlock_t i8253_lock;
- unsigned long flags;
- unsigned int count;
-
- spin_lock_irqsave(&i8253_lock, flags);
- outb_p(0x00, 0x43);
- count = inb_p(0x40);
- count |= inb_p(0x40) << 8;
- spin_unlock_irqrestore(&i8253_lock, flags);
-
- return count;
-}
-
-#endif
-
/*
* gameport_measure_speed() measures the gameport i/o speed.
*/

static int gameport_measure_speed(struct gameport *gameport)
{
-#ifdef __i386__
-
- unsigned int i, t, t1, t2, t3, tx;
- unsigned long flags;
-
- if (gameport_open(gameport, NULL, GAMEPORT_MODE_RAW))
- return 0;
-
- tx = 1 << 30;
-
- for(i = 0; i < 50; i++) {
- local_irq_save(flags);
- GET_TIME(t1);
- for(t = 0; t < 50; t++) gameport_read(gameport);
- GET_TIME(t2);
- GET_TIME(t3);
- local_irq_restore(flags);
- udelay(i * 10);
- if ((t = DELTA(t2,t1) - DELTA(t3,t2)) < tx) tx = t;
- }
-
- gameport_close(gameport);
- return 59659 / (tx < 1 ? 1 : tx);
-
-#else
-
unsigned int j, t = 0;

j = jiffies; while (j == jiffies);
@@ -96,8 +48,6 @@

gameport_close(gameport);
return t * HZ / 1000;
-
-#endif
}

static void gameport_find_dev(struct gameport *gameport)
diff -ru ./linux-2.6.9-orig/drivers/input/joystick/analog.c ./linux-2.6.9/drivers/input/joystick/analog.c
--- ./linux-2.6.9-orig/drivers/input/joystick/analog.c 2005-03-31 16:26:57.000000000 +0400
+++ ./linux-2.6.9/drivers/input/joystick/analog.c 2005-03-31 17:24:09.000000000 +0400
@@ -140,25 +140,7 @@
* Time macros.
*/

-#ifdef __i386__
-#define GET_TIME(x) do { if (cpu_has_tsc) rdtscl(x); else x = get_time_pit(); } while (0)
-#define DELTA(x,y) (cpu_has_tsc ? ((y) - (x)) : ((x) - (y) + ((x) < (y) ? CLOCK_TICK_RATE / HZ : 0)))
-#define TIME_NAME (cpu_has_tsc?"TSC":"PIT")
-static unsigned int get_time_pit(void)
-{
- extern spinlock_t i8253_lock;
- unsigned long flags;
- unsigned int count;
-
- spin_lock_irqsave(&i8253_lock, flags);
- outb_p(0x00, 0x43);
- count = inb_p(0x40);
- count |= inb_p(0x40) << 8;
- spin_unlock_irqrestore(&i8253_lock, flags);
-
- return count;
-}
-#elif defined(__x86_64__)
+#if defined(__x86_64__)
#define GET_TIME(x) rdtscl(x)
#define DELTA(x,y) ((y)-(x))
#define TIME_NAME "TSC"
diff -ru ./linux-2.6.9-orig/drivers/input/keyboard/atkbd.c ./linux-2.6.9/drivers/input/keyboard/atkbd.c
--- ./linux-2.6.9-orig/drivers/input/keyboard/atkbd.c 2005-03-31 16:26:57.000000000 +0400
+++ ./linux-2.6.9/drivers/input/keyboard/atkbd.c 2005-03-31 17:23:19.000000000 +0400
@@ -38,7 +38,7 @@
module_param_named(set, atkbd_set, int, 0);
MODULE_PARM_DESC(set, "Select keyboard code set (2 = default, 3 = PS/2 native)");

-#if defined(__i386__) || defined(__x86_64__) || defined(__hppa__)
+#if defined(__x86_64__) || defined(__hppa__)
static int atkbd_reset;
#else
static int atkbd_reset = 1;
@@ -258,7 +258,7 @@
printk(KERN_DEBUG "atkbd.c: Received %02x flags %02x\n", data, flags);
#endif

-#if !defined(__i386__) && !defined (__x86_64__)
+#if !defined (__x86_64__)
if ((flags & (SERIO_FRAME | SERIO_PARITY)) && (~flags & SERIO_TIMEOUT) && !atkbd->resend && atkbd->write) {
printk(KERN_WARNING "atkbd.c: frame/parity error: %02x\n", flags);
serio_write(serio, ATKBD_CMD_RESEND);
diff -ru ./linux-2.6.9-orig/drivers/input/serio/i8042-x86ia64io.h ./linux-2.6.9/drivers/input/serio/i8042-x86ia64io.h
--- ./linux-2.6.9-orig/drivers/input/serio/i8042-x86ia64io.h 2005-03-31 16:26:57.000000000 +0400
+++ ./linux-2.6.9/drivers/input/serio/i8042-x86ia64io.h 2005-03-31 17:23:45.000000000 +0400
@@ -63,31 +63,6 @@
outb(val, I8042_COMMAND_REG);
}

-#if defined(__i386__)
-
-#include <linux/dmi.h>
-
-static struct dmi_system_id __initdata i8042_dmi_table[] = {
- {
- .ident = "Compaq Proliant 8500",
- .matches = {
- DMI_MATCH(DMI_SYS_VENDOR, "Compaq"),
- DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"),
- DMI_MATCH(DMI_PRODUCT_VERSION, "8500"),
- },
- },
- {
- .ident = "Compaq Proliant DL760",
- .matches = {
- DMI_MATCH(DMI_SYS_VENDOR, "Compaq"),
- DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"),
- DMI_MATCH(DMI_PRODUCT_VERSION, "DL760"),
- },
- },
- { }
-};
-#endif
-
#ifdef CONFIG_ACPI
#include <linux/acpi.h>
#include <acpi/acpi_bus.h>
@@ -290,11 +265,6 @@
i8042_reset = 1;
#endif

-#if defined(__i386__)
- if (dmi_check_system(i8042_dmi_table))
- i8042_noloop = 1;
-#endif
-
return 0;
}

diff -ru ./linux-2.6.9-orig/drivers/isdn/i4l/isdn_audio.c ./linux-2.6.9/drivers/isdn/i4l/isdn_audio.c
--- ./linux-2.6.9-orig/drivers/isdn/i4l/isdn_audio.c 2005-03-31 16:26:52.000000000 +0400
+++ ./linux-2.6.9/drivers/isdn/i4l/isdn_audio.c 2005-03-31 17:17:37.000000000 +0400
@@ -195,21 +195,8 @@
static inline void
isdn_audio_tlookup(const u_char *table, u_char *buff, unsigned long n)
{
-#ifdef __i386__
- unsigned long d0, d1, d2, d3;
- __asm__ __volatile__(
- "cld\n"
- "1:\tlodsb\n\t"
- "xlatb\n\t"
- "stosb\n\t"
- "loop 1b\n\t"
- : "=&b"(d0), "=&c"(d1), "=&D"(d2), "=&S"(d3)
- : "0"((long) table), "1"(n), "2"((long) buff), "3"((long) buff)
- : "memory", "ax");
-#else
while (n--)
*buff = table[*(unsigned char *)buff], buff++;
-#endif
}

void
diff -ru ./linux-2.6.9-orig/drivers/macintosh/apm_emu.c ./linux-2.6.9/drivers/macintosh/apm_emu.c
--- ./linux-2.6.9-orig/drivers/macintosh/apm_emu.c 2005-03-31 16:26:59.000000000 +0400
+++ ./linux-2.6.9/drivers/macintosh/apm_emu.c 2005-03-31 17:28:33.000000000 +0400
@@ -2,8 +2,7 @@
*
* Copyright 2001 Benjamin Herrenschmidt ([email protected])
*
- * Lots of code inherited from apm.c, see appropriate notice in
- * arch/i386/kernel/apm.c
+ * Lots of code inherited from apm.c
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
diff -ru ./linux-2.6.9-orig/drivers/md/raid6algos.c ./linux-2.6.9/drivers/md/raid6algos.c
--- ./linux-2.6.9-orig/drivers/md/raid6algos.c 2005-03-31 16:26:59.000000000 +0400
+++ ./linux-2.6.9/drivers/md/raid6algos.c 2005-03-31 17:28:01.000000000 +0400
@@ -51,14 +51,6 @@
&raid6_intx16,
&raid6_intx32,
#endif
-#if defined(__i386__)
- &raid6_mmxx1,
- &raid6_mmxx2,
- &raid6_sse1x1,
- &raid6_sse1x2,
- &raid6_sse2x1,
- &raid6_sse2x2,
-#endif
#if defined(__x86_64__)
&raid6_sse2x1,
&raid6_sse2x2,
diff -ru ./linux-2.6.9-orig/drivers/media/video/zoran_driver.c ./linux-2.6.9/drivers/media/video/zoran_driver.c
--- ./linux-2.6.9-orig/drivers/media/video/zoran_driver.c 2005-03-31 16:26:43.000000000 +0400
+++ ./linux-2.6.9/drivers/media/video/zoran_driver.c 2005-03-31 16:54:09.000000000 +0400
@@ -4556,7 +4556,6 @@
pos =
le32_to_cpu((unsigned long) fh->jpg_buffers.
buffer[i].frag_tab[2 * j]);
- /* should just be pos on i386 */
page = virt_to_phys(bus_to_virt(pos))
>> PAGE_SHIFT;
if (remap_pfn_range(vma, start, page,
diff -ru ./linux-2.6.9-orig/drivers/mtd/devices/docprobe.c ./linux-2.6.9/drivers/mtd/devices/docprobe.c
--- ./linux-2.6.9-orig/drivers/mtd/devices/docprobe.c 2005-03-31 16:26:55.000000000 +0400
+++ ./linux-2.6.9/drivers/mtd/devices/docprobe.c 2005-03-31 17:17:50.000000000 +0400
@@ -66,7 +66,7 @@
MODULE_PARM_DESC(doc_config_location, "Physical memory address at which to probe for DiskOnChip");

static unsigned long __initdata doc_locations[] = {
-#if defined (__alpha__) || defined(__i386__) || defined(__x86_64__)
+#if defined (__alpha__) || defined(__x86_64__)
#ifdef CONFIG_MTD_DOCPROBE_HIGH
0xfffc8000, 0xfffca000, 0xfffcc000, 0xfffce000,
0xfffd0000, 0xfffd2000, 0xfffd4000, 0xfffd6000,
diff -ru ./linux-2.6.9-orig/drivers/mtd/nand/diskonchip.c ./linux-2.6.9/drivers/mtd/nand/diskonchip.c
--- ./linux-2.6.9-orig/drivers/mtd/nand/diskonchip.c 2005-03-31 16:26:55.000000000 +0400
+++ ./linux-2.6.9/drivers/mtd/nand/diskonchip.c 2005-03-31 17:18:02.000000000 +0400
@@ -40,7 +40,7 @@
#endif

static unsigned long __initdata doc_locations[] = {
-#if defined (__alpha__) || defined(__i386__) || defined(__x86_64__)
+#if defined (__alpha__) || defined(__x86_64__)
#ifdef CONFIG_MTD_DISKONCHIP_PROBE_HIGH
0xfffc8000, 0xfffca000, 0xfffcc000, 0xfffce000,
0xfffd0000, 0xfffd2000, 0xfffd4000, 0xfffd6000,
diff -ru ./linux-2.6.9-orig/drivers/net/fealnx.c ./linux-2.6.9/drivers/net/fealnx.c
--- ./linux-2.6.9-orig/drivers/net/fealnx.c 2005-03-31 16:26:40.000000000 +0400
+++ ./linux-2.6.9/drivers/net/fealnx.c 2005-03-31 16:51:27.000000000 +0400
@@ -900,23 +900,6 @@
// np->bcrvalue=0x38; /* little-endian, 256 burst length */
np->bcrvalue = 0x10; /* little-endian, 8 burst length */
np->crvalue = 0xe00; /* rx 128 burst length */
-#elif defined(__i386__)
-#if defined(MODULE)
-// 89/9/1 modify,
-// np->bcrvalue=0x38; /* little-endian, 256 burst length */
- np->bcrvalue = 0x10; /* little-endian, 8 burst length */
- np->crvalue = 0xe00; /* rx 128 burst length */
-#else
- /* When not a module we can work around broken '486 PCI boards. */
-#define x86 boot_cpu_data.x86
-// 89/9/1 modify,
-// np->bcrvalue=(x86 <= 4 ? 0x10 : 0x38);
- np->bcrvalue = 0x10;
- np->crvalue = (x86 <= 4 ? 0xa00 : 0xe00);
- if (x86 <= 4)
- printk(KERN_INFO "%s: This is a 386/486 PCI system, setting burst "
- "length to %x.\n", dev->name, (x86 <= 4 ? 0x10 : 0x38));
-#endif
#else
// 89/9/1 modify,
// np->bcrvalue=0x38;
diff -ru ./linux-2.6.9-orig/drivers/net/hamachi.c ./linux-2.6.9/drivers/net/hamachi.c
--- ./linux-2.6.9-orig/drivers/net/hamachi.c 2005-03-31 16:26:41.000000000 +0400
+++ ./linux-2.6.9/drivers/net/hamachi.c 2005-03-31 16:51:49.000000000 +0400
@@ -1757,35 +1757,6 @@
writel(2, ioaddr + RxCmd);
writew(2, ioaddr + TxCmd);

-#ifdef __i386__
- if (hamachi_debug > 2) {
- printk("\n"KERN_DEBUG" Tx ring at %8.8x:\n",
- (int)hmp->tx_ring_dma);
- for (i = 0; i < TX_RING_SIZE; i++)
- printk(" %c #%d desc. %8.8x %8.8x.\n",
- readl(ioaddr + TxCurPtr) == (long)&hmp->tx_ring[i] ? '>' : ' ',
- i, hmp->tx_ring[i].status_n_length, hmp->tx_ring[i].addr);
- printk("\n"KERN_DEBUG " Rx ring %8.8x:\n",
- (int)hmp->rx_ring_dma);
- for (i = 0; i < RX_RING_SIZE; i++) {
- printk(KERN_DEBUG " %c #%d desc. %4.4x %8.8x\n",
- readl(ioaddr + RxCurPtr) == (long)&hmp->rx_ring[i] ? '>' : ' ',
- i, hmp->rx_ring[i].status_n_length, hmp->rx_ring[i].addr);
- if (hamachi_debug > 6) {
- if (*(u8*)hmp->rx_skbuff[i]->tail != 0x69) {
- u16 *addr = (u16 *)
- hmp->rx_skbuff[i]->tail;
- int j;
-
- for (j = 0; j < 0x50; j++)
- printk(" %4.4x", addr[j]);
- printk("\n");
- }
- }
- }
- }
-#endif /* __i386__ debugging only */
-
free_irq(dev->irq, dev);

del_timer_sync(&hmp->timer);
diff -ru ./linux-2.6.9-orig/drivers/net/hamradio/baycom_epp.c ./linux-2.6.9/drivers/net/hamradio/baycom_epp.c
--- ./linux-2.6.9-orig/drivers/net/hamradio/baycom_epp.c 2005-03-31 16:26:39.000000000 +0400
+++ ./linux-2.6.9/drivers/net/hamradio/baycom_epp.c 2005-03-31 16:50:27.000000000 +0400
@@ -727,16 +727,7 @@

/* --------------------------------------------------------------------- */

-#ifdef __i386__
-#include <asm/msr.h>
-#define GETTICK(x) \
-({ \
- if (cpu_has_tsc) \
- rdtscl(x); \
-})
-#else /* __i386__ */
#define GETTICK(x)
-#endif /* __i386__ */

static void epp_bh(struct net_device *dev)
{
diff -ru ./linux-2.6.9-orig/drivers/net/starfire.c ./linux-2.6.9/drivers/net/starfire.c
--- ./linux-2.6.9-orig/drivers/net/starfire.c 2005-03-31 16:26:41.000000000 +0400
+++ ./linux-2.6.9/drivers/net/starfire.c 2005-03-31 16:52:02.000000000 +0400
@@ -271,7 +271,7 @@
* This SUCKS.
* We need a much better method to determine if dma_addr_t is 64-bit.
*/
-#if (defined(__i386__) && defined(CONFIG_HIGHMEM) && (LINUX_VERSION_CODE > 0x20500 || defined(CONFIG_HIGHMEM64G))) || defined(__x86_64__) || defined (__ia64__) || defined(__mips64__) || (defined(__mips__) && defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR))
+#if (defined(CONFIG_HIGHMEM) && (LINUX_VERSION_CODE > 0x20500 || defined(CONFIG_HIGHMEM64G))) || defined(__x86_64__) || defined (__ia64__) || defined(__mips64__) || (defined(__mips__) && defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR))
/* 64-bit dma_addr_t */
#define ADDR_64BITS /* This chip uses 64 bit addresses. */
#define cpu_to_dma(x) cpu_to_le64(x)
diff -ru ./linux-2.6.9-orig/drivers/net/sundance.c ./linux-2.6.9/drivers/net/sundance.c
--- ./linux-2.6.9-orig/drivers/net/sundance.c 2005-03-31 16:26:40.000000000 +0400
+++ ./linux-2.6.9/drivers/net/sundance.c 2005-03-31 16:51:03.000000000 +0400
@@ -1689,24 +1689,6 @@
tasklet_kill(&np->rx_tasklet);
tasklet_kill(&np->tx_tasklet);

-#ifdef __i386__
- if (netif_msg_hw(np)) {
- printk("\n"KERN_DEBUG" Tx ring at %8.8x:\n",
- (int)(np->tx_ring_dma));
- for (i = 0; i < TX_RING_SIZE; i++)
- printk(" #%d desc. %4.4x %8.8x %8.8x.\n",
- i, np->tx_ring[i].status, np->tx_ring[i].frag[0].addr,
- np->tx_ring[i].frag[0].length);
- printk("\n"KERN_DEBUG " Rx ring %8.8x:\n",
- (int)(np->rx_ring_dma));
- for (i = 0; i < /*RX_RING_SIZE*/4 ; i++) {
- printk(KERN_DEBUG " #%d desc. %4.4x %4.4x %8.8x\n",
- i, np->rx_ring[i].status, np->rx_ring[i].frag[0].addr,
- np->rx_ring[i].frag[0].length);
- }
- }
-#endif /* __i386__ debugging only */
-
free_irq(dev->irq, dev);

del_timer_sync(&np->timer);
diff -ru ./linux-2.6.9-orig/drivers/net/tulip/tulip_core.c ./linux-2.6.9/drivers/net/tulip/tulip_core.c
--- ./linux-2.6.9-orig/drivers/net/tulip/tulip_core.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/net/tulip/tulip_core.c 2005-03-31 16:45:23.000000000 +0400
@@ -90,7 +90,7 @@

#if defined(__alpha__) || defined(__ia64__)
static int csr0 = 0x01A00000 | 0xE000;
-#elif defined(__i386__) || defined(__powerpc__) || defined(__x86_64__)
+#elif defined(__powerpc__) || defined(__x86_64__)
static int csr0 = 0x01A00000 | 0x8000;
#elif defined(__sparc__) || defined(__hppa__)
/* The UltraSparc PCI controllers will disconnect at every 64-byte
@@ -1570,10 +1570,6 @@
dev->dev_addr, 6);
}
#endif
-#if defined(__i386__) /* Patch up x86 BIOS bug. */
- if (last_irq)
- irq = last_irq;
-#endif
}

for (i = 0; i < 6; i++)
diff -ru ./linux-2.6.9-orig/drivers/net/tulip/tulip.h ./linux-2.6.9/drivers/net/tulip/tulip.h
--- ./linux-2.6.9-orig/drivers/net/tulip/tulip.h 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/net/tulip/tulip.h 2005-03-31 16:45:38.000000000 +0400
@@ -294,11 +294,7 @@

#define RUN_AT(x) (jiffies + (x))

-#if defined(__i386__) /* AKA get_unaligned() */
-#define get_u16(ptr) (*(u16 *)(ptr))
-#else
#define get_u16(ptr) (((u8*)(ptr))[0] + (((u8*)(ptr))[1]<<8))
-#endif

struct medialeaf {
u8 type;
diff -ru ./linux-2.6.9-orig/drivers/net/tulip/winbond-840.c ./linux-2.6.9/drivers/net/tulip/winbond-840.c
--- ./linux-2.6.9-orig/drivers/net/tulip/winbond-840.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/net/tulip/winbond-840.c 2005-03-31 16:45:04.000000000 +0400
@@ -926,16 +926,7 @@
8000 16 longwords 0200 2 longwords 2000 32 longwords
C000 32 longwords 0400 4 longwords */

-#if defined (__i386__) && !defined(MODULE)
- /* When not a module we can work around broken '486 PCI boards. */
- if (boot_cpu_data.x86 <= 4) {
- i |= 0x4800;
- printk(KERN_INFO "%s: This is a 386/486 PCI system, setting cache "
- "alignment to 8 longwords.\n", dev->name);
- } else {
- i |= 0xE000;
- }
-#elif defined(__powerpc__) || defined(__i386__) || defined(__alpha__) || defined(__ia64__) || defined(__x86_64__)
+#if defined(__powerpc__) || defined(__alpha__) || defined(__ia64__) || defined(__x86_64__)
i |= 0xE000;
#elif defined(__sparc__)
i |= 0x4800;
@@ -1552,26 +1543,6 @@
if (ioread32(ioaddr + NetworkConfig) != 0xffffffff)
np->stats.rx_missed_errors += ioread32(ioaddr + RxMissed) & 0xffff;

-#ifdef __i386__
- if (debug > 2) {
- int i;
-
- printk(KERN_DEBUG" Tx ring at %8.8x:\n",
- (int)np->tx_ring);
- for (i = 0; i < TX_RING_SIZE; i++)
- printk(KERN_DEBUG " #%d desc. %4.4x %4.4x %8.8x.\n",
- i, np->tx_ring[i].length,
- np->tx_ring[i].status, np->tx_ring[i].buffer1);
- printk("\n"KERN_DEBUG " Rx ring %8.8x:\n",
- (int)np->rx_ring);
- for (i = 0; i < RX_RING_SIZE; i++) {
- printk(KERN_DEBUG " #%d desc. %4.4x %4.4x %8.8x\n",
- i, np->rx_ring[i].length,
- np->rx_ring[i].status, np->rx_ring[i].buffer1);
- }
- }
-#endif /* __i386__ debugging only */
-
del_timer_sync(&np->timer);

free_rxtx_rings(np);
diff -ru ./linux-2.6.9-orig/drivers/net/tulip/xircom_tulip_cb.c ./linux-2.6.9/drivers/net/tulip/xircom_tulip_cb.c
--- ./linux-2.6.9-orig/drivers/net/tulip/xircom_tulip_cb.c 2005-03-31 16:26:36.000000000 +0400
+++ ./linux-2.6.9/drivers/net/tulip/xircom_tulip_cb.c 2005-03-31 16:43:49.000000000 +0400
@@ -82,9 +82,6 @@
static int csr0 = 0x01B00000 | 0x8000;
#elif defined(__sparc__)
static int csr0 = 0x01B00080 | 0x8000;
-#elif defined(__i386__)
-static int csr0 = 0x01A00000 | 0x8000;
-#else
#warning Processor architecture undefined!
static int csr0 = 0x00A00000 | 0x4800;
#endif
diff -ru ./linux-2.6.9-orig/drivers/net/wan/sbni.c ./linux-2.6.9/drivers/net/wan/sbni.c
--- ./linux-2.6.9-orig/drivers/net/wan/sbni.c 2005-03-31 16:26:38.000000000 +0400
+++ ./linux-2.6.9/drivers/net/wan/sbni.c 2005-03-31 16:49:42.000000000 +0400
@@ -148,10 +148,6 @@
static int emancipate( struct net_device * );
#endif

-#ifdef __i386__
-#define ASM_CRC 1
-#endif
-
static const char version[] =
"Granch SBNI12 driver ver 5.0.1 Jun 22 2001 Denis I.Timofeev.\n";

diff -ru ./linux-2.6.9-orig/drivers/net/wireless/wl3501_cs.c ./linux-2.6.9/drivers/net/wireless/wl3501_cs.c
--- ./linux-2.6.9-orig/drivers/net/wireless/wl3501_cs.c 2005-03-31 16:26:37.000000000 +0400
+++ ./linux-2.6.9/drivers/net/wireless/wl3501_cs.c 2005-03-31 16:45:54.000000000 +0400
@@ -62,9 +62,7 @@

#include "wl3501.h"

-#ifndef __i386__
#define slow_down_io()
-#endif

/* For rough constant delay */
#define WL3501_NOPLOOP(n) { int x = 0; while (x++ < n) slow_down_io(); }
diff -ru ./linux-2.6.9-orig/drivers/net/yellowfin.c ./linux-2.6.9/drivers/net/yellowfin.c
--- ./linux-2.6.9-orig/drivers/net/yellowfin.c 2005-03-31 16:26:40.000000000 +0400
+++ ./linux-2.6.9/drivers/net/yellowfin.c 2005-03-31 16:50:49.000000000 +0400
@@ -1267,41 +1267,6 @@

del_timer(&yp->timer);

-#if defined(__i386__)
- if (yellowfin_debug > 2) {
- printk("\n"KERN_DEBUG" Tx ring at %8.8llx:\n",
- (unsigned long long)yp->tx_ring_dma);
- for (i = 0; i < TX_RING_SIZE*2; i++)
- printk(" %c #%d desc. %8.8x %8.8x %8.8x %8.8x.\n",
- ioread32(ioaddr + TxPtr) == (long)&yp->tx_ring[i] ? '>' : ' ',
- i, yp->tx_ring[i].dbdma_cmd, yp->tx_ring[i].addr,
- yp->tx_ring[i].branch_addr, yp->tx_ring[i].result_status);
- printk(KERN_DEBUG " Tx status %p:\n", yp->tx_status);
- for (i = 0; i < TX_RING_SIZE; i++)
- printk(" #%d status %4.4x %4.4x %4.4x %4.4x.\n",
- i, yp->tx_status[i].tx_cnt, yp->tx_status[i].tx_errs,
- yp->tx_status[i].total_tx_cnt, yp->tx_status[i].paused);
-
- printk("\n"KERN_DEBUG " Rx ring %8.8llx:\n",
- (unsigned long long)yp->rx_ring_dma);
- for (i = 0; i < RX_RING_SIZE; i++) {
- printk(KERN_DEBUG " %c #%d desc. %8.8x %8.8x %8.8x\n",
- ioread32(ioaddr + RxPtr) == (long)&yp->rx_ring[i] ? '>' : ' ',
- i, yp->rx_ring[i].dbdma_cmd, yp->rx_ring[i].addr,
- yp->rx_ring[i].result_status);
- if (yellowfin_debug > 6) {
- if (get_unaligned((u8*)yp->rx_ring[i].addr) != 0x69) {
- int j;
- for (j = 0; j < 0x50; j++)
- printk(" %4.4x",
- get_unaligned(((u16*)yp->rx_ring[i].addr) + j));
- printk("\n");
- }
- }
- }
- }
-#endif /* __i386__ debugging only */
-
free_irq(dev->irq, dev);

/* Free all the skbuffs in the Rx queue. */
diff -ru ./linux-2.6.9-orig/drivers/parisc/iosapic.c ./linux-2.6.9/drivers/parisc/iosapic.c
--- ./linux-2.6.9-orig/drivers/parisc/iosapic.c 2005-03-31 16:26:59.000000000 +0400
+++ ./linux-2.6.9/drivers/parisc/iosapic.c 2005-03-31 17:28:15.000000000 +0400
@@ -713,7 +713,7 @@
* PCI only supports level triggered in order to share IRQ lines.
* ergo I/O SAPIC must always issue EOI on parisc.
*
- * i386/ia64 support ISA devices and have to deal with
+ * ia64 support ISA devices and have to deal with
* edge-triggered interrupts too.
*/
static void iosapic_end_irq(unsigned int irq)
diff -ru ./linux-2.6.9-orig/drivers/pci/hotplug/pciehp_pci.c ./linux-2.6.9/drivers/pci/hotplug/pciehp_pci.c
--- ./linux-2.6.9-orig/drivers/pci/hotplug/pciehp_pci.c 2005-03-31 16:26:42.000000000 +0400
+++ ./linux-2.6.9/drivers/pci/hotplug/pciehp_pci.c 2005-03-31 16:53:25.000000000 +0400
@@ -37,10 +37,6 @@
#include <linux/pci.h>
#include "../pci.h"
#include "pciehp.h"
-#ifndef CONFIG_IA64
-#include "../../../arch/i386/pci/pci.h" /* horrible hack showing how processor dependant we are... */
-#endif
-

int pciehp_configure_device (struct controller* ctrl, struct pci_func* func)
{
diff -ru ./linux-2.6.9-orig/drivers/pci/hotplug/shpchp_pci.c ./linux-2.6.9/drivers/pci/hotplug/shpchp_pci.c
--- ./linux-2.6.9-orig/drivers/pci/hotplug/shpchp_pci.c 2005-03-31 16:26:41.000000000 +0400
+++ ./linux-2.6.9/drivers/pci/hotplug/shpchp_pci.c 2005-03-31 16:53:09.000000000 +0400
@@ -37,9 +37,6 @@
#include <linux/pci.h>
#include "../pci.h"
#include "shpchp.h"
-#ifndef CONFIG_IA64
-#include "../../../arch/i386/pci/pci.h" /* horrible hack showing how processor dependant we are... */
-#endif

int shpchp_configure_device (struct controller* ctrl, struct pci_func* func)
{
diff -ru ./linux-2.6.9-orig/drivers/pnp/manager.c ./linux-2.6.9/drivers/pnp/manager.c
--- ./linux-2.6.9-orig/drivers/pnp/manager.c 2005-03-31 16:26:58.000000000 +0400
+++ ./linux-2.6.9/drivers/pnp/manager.c 2005-03-31 17:26:09.000000000 +0400
@@ -124,7 +124,7 @@
unsigned long *start, *end, *flags;
int i;

- /* IRQ priority: this table is good for i386 */
+ /* IRQ priority */
static unsigned short xtab[16] = {
5, 10, 11, 12, 9, 14, 15, 7, 3, 4, 13, 0, 1, 6, 8, 2
};
@@ -176,7 +176,7 @@
unsigned long *start, *end, *flags;
int i;

- /* DMA priority: this table is good for i386 */
+ /* DMA priority */
static unsigned short xtab[8] = {
1, 3, 5, 6, 7, 0, 2, 4
};
diff -ru ./linux-2.6.9-orig/drivers/pnp/system.c ./linux-2.6.9/drivers/pnp/system.c
--- ./linux-2.6.9-orig/drivers/pnp/system.c 2005-03-31 16:26:58.000000000 +0400
+++ ./linux-2.6.9/drivers/pnp/system.c 2005-03-31 17:26:36.000000000 +0400
@@ -62,14 +62,6 @@
/* Do nothing */
continue;
if (pnp_port_start(dev, i) < 0x100)
- /*
- * Below 0x100 is only standard PC hardware
- * (pics, kbd, timer, dma, ...)
- * We should not get resource conflicts there,
- * and the kernel reserves these anyway
- * (see arch/i386/kernel/setup.c).
- * So, do nothing
- */
continue;
if (pnp_port_end(dev, i) < pnp_port_start(dev, i))
/* invalid endpoint */
diff -ru ./linux-2.6.9-orig/drivers/sbus/char/bpp.c ./linux-2.6.9/drivers/sbus/char/bpp.c
--- ./linux-2.6.9-orig/drivers/sbus/char/bpp.c 2005-03-31 16:27:00.000000000 +0400
+++ ./linux-2.6.9/drivers/sbus/char/bpp.c 2005-03-31 17:29:10.000000000 +0400
@@ -25,10 +25,6 @@
#include <asm/uaccess.h>
#include <asm/io.h>

-#if defined(__i386__)
-# include <asm/system.h>
-#endif
-
#if defined(__sparc__)
# include <linux/init.h>
# include <linux/delay.h> /* udelay() */
@@ -87,61 +83,6 @@

static struct inst instances[BPP_NO];

-#if defined(__i386__)
-
-static const unsigned short base_addrs[BPP_NO] = { 0x278, 0x378, 0x3bc };
-
-/*
- * These are for data access.
- * Control lines accesses are hidden in set_bits() and get_bits().
- * The exception is the probe procedure, which is system-dependent.
- */
-#define bpp_outb_p(data, base) outb_p((data), (base))
-#define bpp_inb(base) inb(base)
-#define bpp_inb_p(base) inb_p(base)
-
-/*
- * This method takes the pin values mask and sets the hardware pins to
- * the requested value: 1 == high voltage, 0 == low voltage. This
- * burries the annoying PC bit inversion and preserves the direction
- * flag.
- */
-static void set_pins(unsigned short pins, unsigned minor)
-{
- unsigned char bits = instances[minor].direction; /* == 0x20 */
-
- if (! (pins & BPP_PP_nStrobe)) bits |= 1;
- if (! (pins & BPP_PP_nAutoFd)) bits |= 2;
- if ( pins & BPP_PP_nInit) bits |= 4;
- if (! (pins & BPP_PP_nSelectIn)) bits |= 8;
-
- instances[minor].pp_state = bits;
-
- outb_p(bits, base_addrs[minor]+2);
-}
-
-static unsigned short get_pins(unsigned minor)
-{
- unsigned short bits = 0;
-
- unsigned value = instances[minor].pp_state;
- if (! (value & 0x01)) bits |= BPP_PP_nStrobe;
- if (! (value & 0x02)) bits |= BPP_PP_nAutoFd;
- if (value & 0x04) bits |= BPP_PP_nInit;
- if (! (value & 0x08)) bits |= BPP_PP_nSelectIn;
-
- value = inb_p(base_addrs[minor]+1);
- if (value & 0x08) bits |= BPP_GP_nFault;
- if (value & 0x10) bits |= BPP_GP_Select;
- if (value & 0x20) bits |= BPP_GP_PError;
- if (value & 0x40) bits |= BPP_GP_nAck;
- if (! (value & 0x80)) bits |= BPP_GP_Busy;
-
- return bits;
-}
-
-#endif /* __i386__ */
-
#if defined(__sparc__)

/*
@@ -867,77 +808,6 @@
.release = bpp_release,
};

-#if defined(__i386__)
-
-#define collectLptPorts() {}
-
-static void probeLptPort(unsigned idx)
-{
- unsigned int testvalue;
- const unsigned short lpAddr = base_addrs[idx];
-
- instances[idx].present = 0;
- instances[idx].enhanced = 0;
- instances[idx].direction = 0;
- instances[idx].mode = COMPATIBILITY;
- instances[idx].wait_queue = 0;
- instances[idx].run_length = 0;
- instances[idx].run_flag = 0;
- init_timer(&instances[idx].timer_list);
- instances[idx].timer_list.function = bpp_wake_up;
- if (!request_region(lpAddr,3, dev_name)) return;
-
- /*
- * First, make sure the instance exists. Do this by writing to
- * the data latch and reading the value back. If the port *is*
- * present, test to see if it supports extended-mode
- * operation. This will be required for IEEE1284 reverse
- * transfers.
- */
-
- outb_p(BPP_PROBE_CODE, lpAddr);
- for (testvalue=0; testvalue<BPP_DELAY; testvalue++)
- ;
- testvalue = inb_p(lpAddr);
- if (testvalue == BPP_PROBE_CODE) {
- unsigned save;
- instances[idx].present = 1;
-
- save = inb_p(lpAddr+2);
- for (testvalue=0; testvalue<BPP_DELAY; testvalue++)
- ;
- outb_p(save|0x20, lpAddr+2);
- for (testvalue=0; testvalue<BPP_DELAY; testvalue++)
- ;
- outb_p(~BPP_PROBE_CODE, lpAddr);
- for (testvalue=0; testvalue<BPP_DELAY; testvalue++)
- ;
- testvalue = inb_p(lpAddr);
- if ((testvalue&0xff) == (0xff&~BPP_PROBE_CODE))
- instances[idx].enhanced = 0;
- else
- instances[idx].enhanced = 1;
- outb_p(save, lpAddr+2);
- }
- else {
- release_region(lpAddr,3);
- }
- /*
- * Leave the port in compat idle mode.
- */
- set_pins(BPP_PP_nAutoFd|BPP_PP_nStrobe|BPP_PP_nInit, idx);
-
- printk("bpp%d: Port at 0x%03x: Enhanced mode %s\n", idx, base_addrs[idx],
- instances[idx].enhanced? "SUPPORTED" : "UNAVAILABLE");
-}
-
-static inline void freeLptPort(int idx)
-{
- release_region(base_addrs[idx], 3);
-}
-
-#endif
-
#if defined(__sparc__)

static void __iomem *map_bpp(struct sbus_dev *dev, int idx)
diff -ru ./linux-2.6.9-orig/drivers/scsi/aic7xxx/aic79xx_osm.c ./linux-2.6.9/drivers/scsi/aic7xxx/aic79xx_osm.c
--- ./linux-2.6.9-orig/drivers/scsi/aic7xxx/aic79xx_osm.c 2005-03-31 16:26:50.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/aic7xxx/aic79xx_osm.c 2005-03-31 17:09:14.000000000 +0400
@@ -713,17 +713,10 @@
static int ahd_linux_slave_alloc(Scsi_Device *);
static int ahd_linux_slave_configure(Scsi_Device *);
static void ahd_linux_slave_destroy(Scsi_Device *);
-#if defined(__i386__)
-static int ahd_linux_biosparam(struct scsi_device*,
- struct block_device*, sector_t, int[]);
-#endif
#else
static int ahd_linux_release(struct Scsi_Host *);
static void ahd_linux_select_queue_depth(struct Scsi_Host *host,
Scsi_Device *scsi_devs);
-#if defined(__i386__)
-static int ahd_linux_biosparam(Disk *, kdev_t, int[]);
-#endif
#endif
static int ahd_linux_bus_reset(Scsi_Cmnd *);
static int ahd_linux_dev_reset(Scsi_Cmnd *);
@@ -1125,71 +1118,6 @@
}
#endif

-#if defined(__i386__)
-/*
- * Return the disk geometry for the given SCSI device.
- */
-static int
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
-ahd_linux_biosparam(struct scsi_device *sdev, struct block_device *bdev,
- sector_t capacity, int geom[])
-{
- uint8_t *bh;
-#else
-ahd_linux_biosparam(Disk *disk, kdev_t dev, int geom[])
-{
- struct scsi_device *sdev = disk->device;
- u_long capacity = disk->capacity;
- struct buffer_head *bh;
-#endif
- int heads;
- int sectors;
- int cylinders;
- int ret;
- int extended;
- struct ahd_softc *ahd;
-
- ahd = *((struct ahd_softc **)sdev->host->hostdata);
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
- bh = scsi_bios_ptable(bdev);
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,17)
- bh = bread(MKDEV(MAJOR(dev), MINOR(dev) & ~0xf), 0, block_size(dev));
-#else
- bh = bread(MKDEV(MAJOR(dev), MINOR(dev) & ~0xf), 0, 1024);
-#endif
-
- if (bh) {
- ret = scsi_partsize(bh, capacity,
- &geom[2], &geom[0], &geom[1]);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
- kfree(bh);
-#else
- brelse(bh);
-#endif
- if (ret != -1)
- return (ret);
- }
- heads = 64;
- sectors = 32;
- cylinders = aic_sector_div(capacity, heads, sectors);
-
- if (aic79xx_extended != 0)
- extended = 1;
- else
- extended = (ahd->flags & AHD_EXTENDED_TRANS_A) != 0;
- if (extended && cylinders >= 1024) {
- heads = 255;
- sectors = 63;
- cylinders = aic_sector_div(capacity, heads, sectors);
- }
- geom[0] = heads;
- geom[1] = sectors;
- geom[2] = cylinders;
- return (0);
-}
-#endif
-
/*
* Abort the current SCSI command(s).
*/
@@ -1613,9 +1541,6 @@
.eh_abort_handler = ahd_linux_abort,
.eh_device_reset_handler = ahd_linux_dev_reset,
.eh_bus_reset_handler = ahd_linux_bus_reset,
-#if defined(__i386__)
- .bios_param = ahd_linux_biosparam,
-#endif
.can_queue = AHD_MAX_QUEUE,
.this_id = -1,
.cmd_per_lun = 2,
diff -ru ./linux-2.6.9-orig/drivers/scsi/aic7xxx/aic7xxx_osm.c ./linux-2.6.9/drivers/scsi/aic7xxx/aic7xxx_osm.c
--- ./linux-2.6.9-orig/drivers/scsi/aic7xxx/aic7xxx_osm.c 2005-03-31 16:26:50.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/aic7xxx/aic7xxx_osm.c 2005-03-31 17:08:18.000000000 +0400
@@ -732,18 +732,10 @@
static int ahc_linux_slave_alloc(Scsi_Device *);
static int ahc_linux_slave_configure(Scsi_Device *);
static void ahc_linux_slave_destroy(Scsi_Device *);
-#if defined(__i386__)
-static int ahc_linux_biosparam(struct scsi_device*,
- struct block_device*,
- sector_t, int[]);
-#endif
#else
static int ahc_linux_release(struct Scsi_Host *);
static void ahc_linux_select_queue_depth(struct Scsi_Host *host,
Scsi_Device *scsi_devs);
-#if defined(__i386__)
-static int ahc_linux_biosparam(Disk *, kdev_t, int[]);
-#endif
#endif
static int ahc_linux_bus_reset(Scsi_Cmnd *);
static int ahc_linux_dev_reset(Scsi_Cmnd *);
@@ -1132,75 +1124,6 @@
}
#endif

-#if defined(__i386__)
-/*
- * Return the disk geometry for the given SCSI device.
- */
-static int
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
-ahc_linux_biosparam(struct scsi_device *sdev, struct block_device *bdev,
- sector_t capacity, int geom[])
-{
- uint8_t *bh;
-#else
-ahc_linux_biosparam(Disk *disk, kdev_t dev, int geom[])
-{
- struct scsi_device *sdev = disk->device;
- u_long capacity = disk->capacity;
- struct buffer_head *bh;
-#endif
- int heads;
- int sectors;
- int cylinders;
- int ret;
- int extended;
- struct ahc_softc *ahc;
- u_int channel;
-
- ahc = *((struct ahc_softc **)sdev->host->hostdata);
- channel = sdev->channel;
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
- bh = scsi_bios_ptable(bdev);
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,17)
- bh = bread(MKDEV(MAJOR(dev), MINOR(dev) & ~0xf), 0, block_size(dev));
-#else
- bh = bread(MKDEV(MAJOR(dev), MINOR(dev) & ~0xf), 0, 1024);
-#endif
-
- if (bh) {
- ret = scsi_partsize(bh, capacity,
- &geom[2], &geom[0], &geom[1]);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
- kfree(bh);
-#else
- brelse(bh);
-#endif
- if (ret != -1)
- return (ret);
- }
- heads = 64;
- sectors = 32;
- cylinders = aic_sector_div(capacity, heads, sectors);
-
- if (aic7xxx_extended != 0)
- extended = 1;
- else if (channel == 0)
- extended = (ahc->flags & AHC_EXTENDED_TRANS_A) != 0;
- else
- extended = (ahc->flags & AHC_EXTENDED_TRANS_B) != 0;
- if (extended && cylinders >= 1024) {
- heads = 255;
- sectors = 63;
- cylinders = aic_sector_div(capacity, heads, sectors);
- }
- geom[0] = heads;
- geom[1] = sectors;
- geom[2] = cylinders;
- return (0);
-}
-#endif
-
/*
* Abort the current SCSI command(s).
*/
@@ -1262,9 +1185,6 @@
.eh_abort_handler = ahc_linux_abort,
.eh_device_reset_handler = ahc_linux_dev_reset,
.eh_bus_reset_handler = ahc_linux_bus_reset,
-#if defined(__i386__)
- .bios_param = ahc_linux_biosparam,
-#endif
.can_queue = AHC_MAX_QUEUE,
.this_id = -1,
.cmd_per_lun = 2,
diff -ru ./linux-2.6.9-orig/drivers/scsi/aic7xxx/aic7xxx_osm.h ./linux-2.6.9/drivers/scsi/aic7xxx/aic7xxx_osm.h
--- ./linux-2.6.9-orig/drivers/scsi/aic7xxx/aic7xxx_osm.h 2005-03-31 16:26:50.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/aic7xxx/aic7xxx_osm.h 2005-03-31 17:08:32.000000000 +0400
@@ -809,7 +809,7 @@

/**************************** VL/EISA Routines ********************************/
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) \
- && (defined(__i386__) || defined(__alpha__)) \
+ && defined(__alpha__) \
&& (!defined(CONFIG_EISA)))
#define CONFIG_EISA
#endif
diff -ru ./linux-2.6.9-orig/drivers/scsi/aic7xxx_old.c ./linux-2.6.9/drivers/scsi/aic7xxx_old.c
--- ./linux-2.6.9-orig/drivers/scsi/aic7xxx_old.c 2005-03-31 16:26:52.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/aic7xxx_old.c 2005-03-31 17:17:20.000000000 +0400
@@ -265,7 +265,7 @@
# define FALSE 0
#endif

-#if defined(__powerpc__) || defined(__i386__) || defined(__x86_64__)
+#if defined(__powerpc__) || defined(__x86_64__)
# define MMAPIO
#endif

@@ -6813,7 +6813,7 @@
* we #ifdef this entire function to avoid compiler warnings about
* an unused function.
*-F*************************************************************************/
-#if defined(__i386__) || defined(__alpha__)
+#if defined(__alpha__)
static int
aic7xxx_probe(int slot, int base, ahc_flag_type *flags)
{
@@ -6873,7 +6873,7 @@

return (-1);
}
-#endif /* (__i386__) || (__alpha__) */
+#endif /* (__alpha__) */


/*+F*************************************************************************
@@ -8999,12 +8999,12 @@
struct aic7xxx_host *current_p = NULL;
struct aic7xxx_host *list_p = NULL;
int found = 0;
-#if defined(__i386__) || defined(__alpha__)
+#if defined(__alpha__)
ahc_flag_type flags = 0;
int type;
#endif
unsigned char sxfrctl1;
-#if defined(__i386__) || defined(__alpha__)
+#if defined(__alpha__)
unsigned char hcntrl, hostconf;
unsigned int slot, base;
#endif
@@ -9687,7 +9687,7 @@
}
#endif /* CONFIG_PCI */

-#if defined(__i386__) || defined(__alpha__)
+#if defined(__alpha__)
/*
* EISA/VL-bus card signature probe.
*/
@@ -9916,7 +9916,7 @@
found++;
}

-#endif /* defined(__i386__) || defined(__alpha__) */
+#endif /* defined(__alpha__) */

/*
* Now, we re-order the probed devices by BIOS address and BUS class.
diff -ru ./linux-2.6.9-orig/drivers/scsi/BusLogic.h ./linux-2.6.9/drivers/scsi/BusLogic.h
--- ./linux-2.6.9-orig/drivers/scsi/BusLogic.h 2005-03-31 16:26:51.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/BusLogic.h 2005-03-31 17:13:39.000000000 +0400
@@ -39,10 +39,8 @@
CONFIG_PCI set.
*/

-#ifndef __i386__
#undef CONFIG_SCSI_OMIT_FLASHPOINT
#define CONFIG_SCSI_OMIT_FLASHPOINT
-#endif

#ifndef CONFIG_PCI
#undef CONFIG_SCSI_OMIT_FLASHPOINT
diff -ru ./linux-2.6.9-orig/drivers/scsi/dpt_i2o.c ./linux-2.6.9/drivers/scsi/dpt_i2o.c
--- ./linux-2.6.9-orig/drivers/scsi/dpt_i2o.c 2005-03-31 16:26:51.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/dpt_i2o.c 2005-03-31 17:14:17.000000000 +0400
@@ -83,9 +83,7 @@
*/
static dpt_sig_S DPTI_sig = {
{'d', 'P', 't', 'S', 'i', 'G'}, SIG_VERSION,
-#ifdef __i386__
- PROC_INTEL, PROC_386 | PROC_486 | PROC_PENTIUM | PROC_SEXIUM,
-#elif defined(__ia64__)
+#if defined(__ia64__)
PROC_INTEL, PROC_IA64,
#elif defined(__sparc__)
PROC_ULTRASPARC, PROC_ULTRASPARC,
@@ -1831,9 +1829,7 @@
si.busType = SI_PCI_BUS;
si.processorFamily = DPTI_sig.dsProcessorFamily;

-#if defined __i386__
- adpt_i386_info(&si);
-#elif defined (__ia64__)
+#if defined (__ia64__)
adpt_ia64_info(&si);
#elif defined(__sparc__)
adpt_sparc_info(&si);
@@ -1881,32 +1877,6 @@
}
#endif

-#if defined __i386__
-
-static void adpt_i386_info(sysInfo_S* si)
-{
- // This is all the info we need for now
- // We will add more info as our new
- // managmenent utility requires it
- switch (boot_cpu_data.x86) {
- case CPU_386:
- si->processorType = PROC_386;
- break;
- case CPU_486:
- si->processorType = PROC_486;
- break;
- case CPU_586:
- si->processorType = PROC_PENTIUM;
- break;
- default: // Just in case
- si->processorType = PROC_PENTIUM;
- break;
- }
-}
-
-#endif
-
-
static int adpt_ioctl(struct inode *inode, struct file *file, uint cmd,
ulong arg)
{
diff -ru ./linux-2.6.9-orig/drivers/scsi/dpti.h ./linux-2.6.9/drivers/scsi/dpti.h
--- ./linux-2.6.9-orig/drivers/scsi/dpti.h 2005-03-31 16:26:50.000000000 +0400
+++ ./linux-2.6.9/drivers/scsi/dpti.h 2005-03-31 17:09:25.000000000 +0400
@@ -334,9 +334,6 @@
#if defined __alpha__
static void adpt_sparc_info(sysInfo_S* si);
#endif
-#if defined __i386__
-static void adpt_i386_info(sysInfo_S* si);
-#endif

#define PRINT_BUFFER_SIZE 512



2005-04-01 13:04:50

by linux-os (Dick Johnson)

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

On Fri, 1 Apr 2005, Evgeniy Polyakov wrote:

> Hello, developers.
>
> In order to compete with the new upcoming releases of the
> various OSes, and to join all developers efforts into the
> one really promising and powerfull direction,
> I present you following patch,
> which removes absolutely unused in a real world,
> unsupported by vendors and definitely hard to build
> from commodity hardware arch.
> Due to it's famous bugability there are tons of quirks
> all over the place in the Kernel tree, so it is only
> begining.
> Let's create our OS the best all over the world - let's remove i386.
>

This must be a joke. Where's the punch line?


Cheers,
Dick Johnson
Penguin : Linux version 2.6.11 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.

2005-04-01 13:12:56

by linux-os (Dick Johnson)

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.


[PATCH snipped]

Cruel joke. Now 80 percent of the Intel clones won't boot.
Those are the ones that run industry, you know, the stuff that
is necessary to earn money.

Without i386 support, you don't have any embedded systems. You
need to use the garbage Motorola CPUs and the proprietary
operating systems in embedded stuff.


Cheers,
Dick Johnson
Penguin : Linux version 2.6.11 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.

2005-04-01 14:55:29

by Renate Meijer

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.


On Apr 1, 2005, at 3:09 PM, linux-os wrote:

>
> [PATCH snipped]
>
> Cruel joke. Now 80 percent of the Intel clones won't boot.
> Those are the ones that run industry, you know, the stuff that
> is necessary to earn money.
>
> Without i386 support, you don't have any embedded systems. You
> need to use the garbage Motorola CPUs and the proprietary
> operating systems in embedded stuff.

Have you checked your calender yet?

Besides... Never heard of ARM? Atmel has a complete line of those,
which seem very usefull.

2005-04-01 15:14:48

by Måns Rullgård

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

linux-os <[email protected]> writes:

> [PATCH snipped]
>
> Cruel joke. Now 80 percent of the Intel clones won't boot.
> Those are the ones that run industry, you know, the stuff that
> is necessary to earn money.

For now, yes. Hopefully it will change some day.

> Without i386 support, you don't have any embedded systems. You
> need to use the garbage Motorola CPUs and the proprietary
> operating systems in embedded stuff.

In front me at the moment are two embedded devices, one PPC based, the
other MIPS, both running Linux.

--
M?ns Rullg?rd
[email protected]

2005-04-01 15:17:31

by linux-os (Dick Johnson)

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

On Fri, 1 Apr 2005, Renate Meijer wrote:

>
> On Apr 1, 2005, at 3:09 PM, linux-os wrote:
>
>>
>> [PATCH snipped]
>>
>> Cruel joke. Now 80 percent of the Intel clones won't boot.
>> Those are the ones that run industry, you know, the stuff that
>> is necessary to earn money.
>>
>> Without i386 support, you don't have any embedded systems. You
>> need to use the garbage Motorola CPUs and the proprietary
>> operating systems in embedded stuff.
>
> Have you checked your calender yet?
>
> Besides... Never heard of ARM? Atmel has a complete line of those,
> which seem very usefull.

I'm quite aware of the date and time, thank you. The 'i386 architecture
is the Intel-like stuff that doesn't have all the newer gee-whiz
things that are of little value in the embedded area.

And, ARM is an exploded-cost over-hyped RISC device with poor I/O
capability that assumes that the world is interfaced in 32-bit
chunks. It also can't take advantage of the cost economies that
you get from the devices used in the PC mass-market like
memory-controllers, PCI-IO bridges and etc.

Although these are used in the new "high-definition" TVs I
can assure you that there are many more PC components being
manufactured now than high-definition TV sets. Eventually,
the ARM, or something that supersedes it might make sense.
Right not, forget it.

So, basically, you guys think you can single-handedly
remove Linux from the embedded market and re-do it just
for servers? Or are you going to leave some capability
for desk-tops, too?

Cheers,
Dick Johnson
Penguin : Linux version 2.6.11 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.

2005-04-01 15:22:42

by linux-os (Dick Johnson)

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

On Fri, 1 Apr 2005, [iso-8859-1] M?ns Rullg?rd wrote:

> linux-os <[email protected]> writes:
>
>> [PATCH snipped]
>>
>> Cruel joke. Now 80 percent of the Intel clones won't boot.
>> Those are the ones that run industry, you know, the stuff that
>> is necessary to earn money.
>
> For now, yes. Hopefully it will change some day.
>
>> Without i386 support, you don't have any embedded systems. You
>> need to use the garbage Motorola CPUs and the proprietary
>> operating systems in embedded stuff.
>
> In front me at the moment are two embedded devices, one PPC based, the
> other MIPS, both running Linux.
>

You can't be serious. Software doesn't get the opportunity
to select the hardware. With Linux on PC-like machines, we
have been able to write and debug 90 or more percent of the
software on our work-stations before embedding it in the
target machines.

You get rid of that capability just because you don't
__like__ i386??? Did you ever have a job?


Cheers,
Dick Johnson
Penguin : Linux version 2.6.11 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.

2005-04-01 15:24:30

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

On Apr 1, 2005 10:16 AM, Richard B. Johnson <[email protected]> wrote:
> On Fri, 1 Apr 2005, Renate Meijer wrote:
>
> >
> > On Apr 1, 2005, at 3:09 PM, linux-os wrote:
> >
> >>
> >> [PATCH snipped]
> >>
> >> Cruel joke. Now 80 percent of the Intel clones won't boot.
> >> Those are the ones that run industry, you know, the stuff that
> >> is necessary to earn money.
> >>
> >> Without i386 support, you don't have any embedded systems. You
> >> need to use the garbage Motorola CPUs and the proprietary
> >> operating systems in embedded stuff.
> >
> > Have you checked your calender yet?
> >
> I'm quite aware of the date and time, thank you. The 'i386 architecture
> is the Intel-like stuff that doesn't have all the newer gee-whiz
> things that are of little value in the embedded area.
...
> So, basically, you guys think you can single-handedly
> remove Linux from the embedded market and re-do it just
> for servers? Or are you going to leave some capability
> for desk-tops, too?

Please check the calendar again. Don't worry about the year part,
concentrate on the month and day... ;)

--
Dmitry

2005-04-01 15:38:40

by linux-os (Dick Johnson)

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

On Fri, 1 Apr 2005, Dmitry Torokhov wrote:

> On Apr 1, 2005 10:16 AM, Richard B. Johnson <[email protected]> wrote:
>> On Fri, 1 Apr 2005, Renate Meijer wrote:
>>
>>>
>>> On Apr 1, 2005, at 3:09 PM, linux-os wrote:
>>>
>>>>
>>>> [PATCH snipped]
>>>>
>>>> Cruel joke. Now 80 percent of the Intel clones won't boot.
>>>> Those are the ones that run industry, you know, the stuff that
>>>> is necessary to earn money.
>>>>
>>>> Without i386 support, you don't have any embedded systems. You
>>>> need to use the garbage Motorola CPUs and the proprietary
>>>> operating systems in embedded stuff.
>>>
>>> Have you checked your calender yet?
>>>
>> I'm quite aware of the date and time, thank you. The 'i386 architecture
>> is the Intel-like stuff that doesn't have all the newer gee-whiz
>> things that are of little value in the embedded area.
> ...
>> So, basically, you guys think you can single-handedly
>> remove Linux from the embedded market and re-do it just
>> for servers? Or are you going to leave some capability
>> for desk-tops, too?
>
> Please check the calendar again. Don't worry about the year part,
> concentrate on the month and day... ;)
>
> --
> Dmitry
>
Ahhhhhhhhhhhhhhh! ..... **** APRIL Fool-I-am-one ****


Cheers,
Dick Johnson
Penguin : Linux version 2.6.11 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.

2005-04-01 16:01:11

by Måns Rullgård

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

"Richard B. Johnson" <[email protected]> writes:

> On Fri, 1 Apr 2005, [iso-8859-1] M?ns Rullg?rd wrote:
>
>> linux-os <[email protected]> writes:
>>
>>> [PATCH snipped]
>>>
>>> Cruel joke. Now 80 percent of the Intel clones won't boot.
>>> Those are the ones that run industry, you know, the stuff that
>>> is necessary to earn money.
>>
>> For now, yes. Hopefully it will change some day.
>>
>>> Without i386 support, you don't have any embedded systems. You
>>> need to use the garbage Motorola CPUs and the proprietary
>>> operating systems in embedded stuff.
>>
>> In front me at the moment are two embedded devices, one PPC based, the
>> other MIPS, both running Linux.
>
> You can't be serious. Software doesn't get the opportunity
> to select the hardware. With Linux on PC-like machines, we
> have been able to write and debug 90 or more percent of the
> software on our work-stations before embedding it in the
> target machines.

The point being?

> You get rid of that capability just because you don't
> __like__ i386???

What capability? That of running Linux on embedded PPC and MIPS?
You're not making sense, even as an April Fool's joke.

> Did you ever have a job?

How is that relevant?

--
M?ns Rullg?rd
[email protected]

2005-04-04 20:01:05

by Giuseppe Bilotta

[permalink] [raw]
Subject: Re: [RFC] : remove unreliable, unused and unmainained arch from kernel.

On Fri, 1 Apr 2005 08:03:16 -0500 (EST), linux-os wrote:

> This must be a joke. Where's the punch line?

It's called a fish in Italian and French.

--
Giuseppe "Oblomov" Bilotta

"They that can give up essential liberty to obtain
a little temporary safety deserve neither liberty
nor safety." Benjamin Franklin