2003-03-06 19:04:39

by Alan Cox

[permalink] [raw]
Subject: Linux 2.5.64-ac1


Linux 2.5.64-ac1
Merge Linus 2.5.63
Merge Linus 2.5.64
Revert broken watchdog changes
o Revert wrong -ac change to keyboard.c (me)
o Fix cpufreq compile (Bob Miller)

Linux 2.5.62-ac1
Merge Linus 2.5.62
o UNEXPECTED_IO_APIC can be static (Pavel Machek)
o Update IPMI driver to version 18 (Corey Minyard)
o Tons of spelling fixes (Steven Cole)
o FBdev updates (James Simmons)
o PC-9800 update (Osamu Tomita)
o Remove dead scripts (Brian Gerst)
o v850 updates (Miles Bader)
o Update 3c523 to new MCA api (untested) (James Bottomley)
o Toshiba keyboard workaround (Pavel Machek)
o Fix mremap file name in comments (Paul Larson)
o Firestream typo fixes (Maciej Soltysiak)
o Backport trident reset fix from 2.4 (Muli Ben-Yehuda)
o Morse code panics are back! (Tomas Szepe)
o Fix aicasm build (Bob Tracy)
o Fixes for 700/710 drivers (Rolf Eike Beer)
o Spelling fixes (Rolf Eike Beer)
o Optimise CRC32 (Joakim Tjernlund)
o Next batch of v850 updates (Miles Bader)
o Takayoshi Kochi has moved email (Takayoshi Kochi)
o SunRPC race fix (Trond Myklebust)
o Refix addr/port naming confusion in IDE iops (me)
o Forward port VIA APIC handling quirks (me)
o Forward port ALi magick quirk flag handler (me)
| Needs bt848 etc to acquire the fix too
o Forward port IDE bases fix (me)
o Forward port pci irq search for legacy IDE (me)

Linux 2.5.61-ac1
Merge Linus 2.5.61
o Fix aic7xxx makefile (Sam Ravnborg)
o Fix ieee1394 build on Alpha (Ben Collins)
o Fix isdn_net build with X.25 (Adriank Bunk)
o Typo fix (Steven Bosscher)
o A pile of other typo fixes (Steven Cole)
o C99 initializers (Art Haas)
o dasd typo fix (Maciej Soltysiak)
o Remove an unused variable in sunrpc (Robert Love)
o Remove duplicate different BSD partition names (Andries Brouwer)
o PPC plural fix (Steven Cole)
o EISA driver class patches (Marc Zyngier)
o VIA Rhine updates (Roger Luethi)
o Further ppa scsi fix (John Kim)
o Kill unused __beep (Hugh Dickins)
o Merge visws support (Andrey Panin)
| Some collisions with pc9800 but should be ok
o Limits for upward growing stacks (Matthew Wilcox)
o ucLinux updates (Greg Ungerer)
o 68328 frame buffer updates (Greg Ungerer)
o Merge ucLinux H8300 support (Yoshinori Sato)
o Fix aironet compile (Ookhoi)
o Fix DMA mask on OSS trident driver (Ivan Kokshaysky)
o Kill some old 2.4 glue code in DRM (John Kim)
o Fix compile of old "hd.c" driver (Paul Gortmaker)
o Add experimental BOCHS virtualisation (Kevin Lawton)
o Clean up intermezzo driver (Adrian Bunk)
o Clean up rio use of compatmac (Adrian Bunk)
o Remove 2.0 ifdefs from ipchains code (Adrian Bunk)
o Remove old junk from efs (Adrian Bunk)
o Remove old 2.0/2.2 junk from media/video (Adrian Bunk)
o Remove unused variable in ali-ircc (Adrian Bunk)
o Remove 2.0 ifdefs from network drivers (Adrian Bunk)
o Clean up uglies in inia100 (Adrian Bunk)
o Clean up uglies in i91u scsi (Adrian Bunk)
o Clean up wan drivers 2.0/2.2 code (Adrian Bunk)
o Restore ontrack remap support (Jim Houston)
| I'd really like to see this get turned into device mapper..
o Forward port emu10k1 driver to 2.5 (Rui Souza)
o Fix boot on EPOX 4BEA-R and friends (Alexandar Achenbach)
o Switch alpha cia code to static inline (Matt Reppert)
o Fix pcmcia scsi compile breakages (Mike Anderson)
o EHCI workarounds (David Brownell)

Linux 2.5.60-ac1 (not published)
Includes Linus BK snapshot
Merge relevant pieces from old -ac (me)
| Dropped visws and stuff thats been redone
| also dropped out IRQ stacks (port is tricky!)
o Fix build of cciss driver (me)
o Fix build of 3036 tv tuner (me)
o Remove i2o_lan (me)
o Fix i2o_scsi (Randy Dunlap)
o Fix iph5526 scsi changes (not fixed DMA) (me)
o Make starfire compile (me)
o Make mca-legacy warn if used (me)
o Make sim710 build with EISA (me)
o Make ultrastor compile (me)
o Make aha152x/aha154x build (Randy Dunlap)
o Fix aha154x/mca bits (me)
o Fix fd_mcs build (me)
o Fix NCR53c406a.c (me)
o Fix sym53c416.c (me)
o Fix ibmmca compile (me)
o Fix ppa compile (me)
o Fix NCR539x compile (John Kim)
o Fix mca_53c9x compile (me)


2003-03-06 19:46:04

by Adrian Bunk

[permalink] [raw]
Subject: [patch] 2.5.64-ac1: fix apic.c compile

The -ac patch adds a second definition of enable_NMI_through_LVT0 to
apic.c resulting in the following compile error:

<-- snip -->

...
gcc -Wp,-MD,arch/i386/kernel/.apic.o.d -D__KERNEL__ -Iinclude -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-pipe -mpreferred-stack-boundary=2 -march=k6
-Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include
-DKBUILD_BASENAME=apic -DKBUILD_MODNAME=apic -c -o
arch/i386/kernel/apic.o arch/i386/kernel/apic.c
arch/i386/kernel/apic.c:72: redefinition of `enable_NMI_through_LVT0'
arch/i386/kernel/apic.c:60: `enable_NMI_through_LVT0' previously defined here
{standard input}: Assembler messages:
{standard input}:126: Error: symbol `enable_NMI_through_LVT0' is already defined
make[1]: *** [arch/i386/kernel/apic.o] Error 1

<-- snip -->


Please remove the following part of the -ac patch:


--- linux-2.5.64/arch/i386/kernel/apic.c 2003-03-06 17:04:22.000000000 +0000
+++ linux-2.5.64-ac1/arch/i386/kernel/apic.c 2003-03-06 17:08:59.000000000 +0000
@@ -66,6 +68,18 @@
apic_write_around(APIC_LVT0, v);
}

+void enable_NMI_through_LVT0 (void * dummy)
+{
+ unsigned int v, ver;
+
+ ver = apic_read(APIC_LVR);
+ ver = GET_APIC_VERSION(ver);
+ v = APIC_DM_NMI; /* unmask and set to NMI */
+ if (!APIC_INTEGRATED(ver)) /* 82489DX */
+ v |= APIC_LVT_LEVEL_TRIGGER;
+ apic_write_around(APIC_LVT0, v);
+}
+
int get_maxlvt(void)
{
unsigned int v, ver, maxlvt;


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2003-03-06 21:18:18

by Steven Cole

[permalink] [raw]
Subject: Re: Linux 2.5.64-ac1

On Thu, 2003-03-06 at 12:15, Alan Cox wrote:
>
> Linux 2.5.64-ac1

I had problems booting 2.5.62-ac1
http://marc.theaimsgroup.com/?l=linux-kernel&m=104578421426861&w=2
and Alan responded

On Thu, 2003-02-20 at 16:57, Alan Cox wrote:
> > ide_xlate_1024+0xf5
> > read_dev_sector+0x69
> > handle_ide_mess+0x179
>
> Ok I broke it with the change to the partiton stuff I put back. If you drop
> that partition tweak out it ought to boot.

Same problem with 2.5.64-ac1.

I backed out the same partitions stuff as before, and 2.5.64-ac1 boots
fine. This is the resulting diff.

P.S. This isn't a spelling fix this time.

Steven

--- linux-2.5.64-ac1-borken/fs/partitions/msdos.c Thu Mar 6 13:05:16 2003
+++ linux-2.5.64-ac1/fs/partitions/msdos.c Tue Mar 4 20:29:24 2003
@@ -385,87 +385,6 @@
{SOLARIS_X86_PARTITION, parse_solaris_x86},
{0, NULL},
};
-/*
- * Look for various forms of IDE disk geometry translation
- */
-static int handle_ide_mess(struct block_device *bdev)
-{
-#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
- Sector sect;
- unsigned char *data;
- kdev_t dev = to_kdev_t(bdev->bd_dev);
- unsigned int sig;
- int heads = 0;
- struct partition *p;
- int i;
-#ifdef CONFIG_BLK_DEV_IDE_MODULE
- if (!ide_xlate_1024)
- return 1;
-#endif
- /*
- * The i386 partition handling programs very often
- * make partitions end on cylinder boundaries.
- * There is no need to do so, and Linux fdisk doesn't always
- * do this, and Windows NT on Alpha doesn't do this either,
- * but still, this helps to guess #heads.
- */
- data = read_dev_sector(bdev, 0, &sect);
- if (!data)
- return -1;
- if (!msdos_magic_present(data + 510)) {
- put_dev_sector(sect);
- return 0;
- }
- sig = le16_to_cpu(*(unsigned short *)(data + 2));
- p = (struct partition *) (data + 0x1be);
- for (i = 0; i < 4; i++) {
- struct partition *q = &p[i];
- if (NR_SECTS(q)) {
- if ((q->sector & 63) == 1 &&
- (q->end_sector & 63) == 63)
- heads = q->end_head + 1;
- break;
- }
- }
- if (SYS_IND(p) == EZD_PARTITION) {
- /*
- * Accesses to sector 0 must go to sector 1 instead.
- */
- if (ide_xlate_1024(bdev, -1, heads, " [EZD]"))
- goto reread;
- } else if (SYS_IND(p) == DM6_PARTITION) {
-
- /*
- * Everything on the disk is offset by 63 sectors,
- * including a "new" MBR with its own partition table.
- */
- if (ide_xlate_1024(bdev, 1, heads, " [DM6:DDO]"))
- goto reread;
- } else if (sig <= 0x1ae &&
- data[sig] == 0xAA && data[sig+1] == 0x55 &&
- (data[sig+2] & 1)) {
- /* DM6 signature in MBR, courtesy of OnTrack */
- (void) ide_xlate_1024 (bdev, 0, heads, " [DM6:MBR]");
- } else if (SYS_IND(p) == DM6_AUX1PARTITION ||
- SYS_IND(p) == DM6_AUX3PARTITION) {
- /*
- * DM6 on other than the first (boot) drive
- */
- (void) ide_xlate_1024(bdev, 0, heads, " [DM6:AUX]");
- } else {
- (void) ide_xlate_1024(bdev, 2, heads, " [PTBL]");
- }
- put_dev_sector(sect);
- return 1;
-
-reread:
- put_dev_sector(sect);
- /* Flush the cache */
- invalidate_bdev(bdev, 1);
- truncate_inode_pages(bdev->bd_inode->i_mapping, 0);
-#endif /* defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) */
- return 1;
-}

int msdos_partition(struct parsed_partitions *state, struct block_device *bdev)
{
@@ -474,11 +393,7 @@
unsigned char *data;
struct partition *p;
int slot;
- int err;

- err = handle_ide_mess(bdev);
- if (err <= 0)
- return err;
data = read_dev_sector(bdev, 0, &sect);
if (!data)
return -1;
@@ -524,21 +439,6 @@
state->parts[slot].flags = 1;
}

- /*
- * Check for old-style Disk Manager partition table
- */
- if (msdos_magic_present(data + 0xfc)) {
- p = (struct partition *) (0x1be + data);
- for (slot = 4 ; slot < 16 ; slot++, state->next++) {
- p--;
- if (state->next == state->limit)
- break;
- if (!(START_SECT(p) && NR_SECTS(p)))
- continue;
- put_partition(state, state->next,
- START_SECT(p), NR_SECTS(p));
- }
- }
printk("\n");

/* second pass - output for each on a separate line */
@@ -556,7 +456,7 @@
if (!subtypes[n].parse)
continue;
subtypes[n].parse(state, bdev, START_SECT(p)*sector_size,
- NR_SECTS(p)*sector_size, n);
+ NR_SECTS(p)*sector_size, slot);
}
put_dev_sector(sect);
return 1;






2003-03-06 21:35:26

by Alan

[permalink] [raw]
Subject: Re: Linux 2.5.64-ac1

On Thu, 2003-03-06 at 21:24, Steven Cole wrote:
> I backed out the same partitions stuff as before, and 2.5.64-ac1 boots
> fine. This is the resulting diff.

Backing it out isnt an option in the end, it has to get fixed 8(

2003-03-06 22:54:39

by Alan

[permalink] [raw]
Subject: Re: Linux 2.5.64-ac1

On Thu, 2003-03-06 at 22:58, Andries Brouwer wrote:
> On Thu, Mar 06, 2003 at 10:51:16PM +0000, Alan Cox wrote:
> > On Thu, 2003-03-06 at 21:24, Steven Cole wrote:
> > > I backed out the same partitions stuff as before, and 2.5.64-ac1 boots
> > > fine. This is the resulting diff.
> >
> > Backing it out isnt an option in the end, it has to get fixed 8(
>
> Usually I try to follow partition and geometry stuff, but this
> is a discussion I missed. What is wrong?

I've got a bug somewhere in the ide_xlate stuff I restored because some
people do need it. The bug is in my code not in the partition stuff
though.

2003-03-06 22:48:26

by Andries Brouwer

[permalink] [raw]
Subject: Re: Linux 2.5.64-ac1

On Thu, Mar 06, 2003 at 10:51:16PM +0000, Alan Cox wrote:
> On Thu, 2003-03-06 at 21:24, Steven Cole wrote:
> > I backed out the same partitions stuff as before, and 2.5.64-ac1 boots
> > fine. This is the resulting diff.
>
> Backing it out isnt an option in the end, it has to get fixed 8(

Usually I try to follow partition and geometry stuff, but this
is a discussion I missed. What is wrong?

Andries

2003-03-06 22:58:25

by Steven Cole

[permalink] [raw]
Subject: Re: Linux 2.5.64-ac1

On Thu, 2003-03-06 at 15:58, Andries Brouwer wrote:
> On Thu, Mar 06, 2003 at 10:51:16PM +0000, Alan Cox wrote:
> > On Thu, 2003-03-06 at 21:24, Steven Cole wrote:
> > > I backed out the same partitions stuff as before, and 2.5.64-ac1 boots
> > > fine. This is the resulting diff.
> >
> > Backing it out isnt an option in the end, it has to get fixed 8(
>
> Usually I try to follow partition and geometry stuff, but this
> is a discussion I missed. What is wrong?
>
> Andries

Here are the symptoms if that will help.
Copied by hand when it died on boot.

Call Trace:

ide_xlate_1024+0xf5
read_dev_sector+0x69
handle_ide_mess+0x179
msdos_partition+0x3c
call_console_drivers+0xeb
printk+0x17d
check_partition+0xac
register_disk+0xd0
blk_register_region+0x24
add_disk+0x35
exact_match+0x0
exact_lock+0x0
sd_attach+0x291
scsi_register_device+0x94
init+0x62
init+0x0
kernel_thread_helper+0x5

Steven