Messages in this thread | | | Date | Tue, 5 Mar 2002 11:43:47 -0500 | From | Pete Zaitcev <> | Subject | Re: s390 is totally broken in 2.4.18 |
| |
> Subject: Re: s390 is totally broken in 2.4.18 > From: "Martin Schwidefsky" <schwidefsky@de.ibm.com> > Date: Tue, 5 Mar 2002 11:10:37 +0100
> The patch that was merged in 2.4.18-pre* has been created against > 2.4.17-pre7 and it did work. The problem is that not all of the > changes I sent Marcelo have been accepted. One of the patches was > the asm-offsets fix that removes all of the hardcoded offsets from > entry.S. Another patch was accepted that changed the thread > structure and this created the inconsistency.
A patch that generated offsets at compilation time would be a superiour solution. As a matter of fact, I was thinking about adopting DaveM's script that generates offsets for sparc. He does it a make dep time in order to prevent mass rebuilds on every recompile. See arch/sparc64/kernel/check_asm.sh and the corresponding Makefile. Good thing you mentioned that and saved me a bunch of work :)
Please keep poking Marcelo with it, and it's a great pity that you did not before 2.4.18 came out.
> >Patch attached.
> Well your patch halfway fixes one of the problems. Halfway because > not the fp_regs structure has changed its size but the pt_regs > pointer has been removed from the thread structure.
Yes, I noticed. However, offsets are all chained together, so all other offsets become correct. But once again, having them all generated automatically is preferable.
> Incidentally I sent an s390 update to Marcelo yesterday and the > minimal fixes including an rwsem.h implementation and the partition > detection fixes are about 2000 lines. Want a copy ?
Certainly, I do. I worked around the partitions part with "obvious" fixup:
- if (ioctl_by_bdev(bdev, HDIO_GETGEO, (unsigned long)geo); + if (ioctl_by_bdev(bdev, HDIO_GETGEO, (unsigned long)geo)) - data = read_dev_sector(bdev, inode->label_block*blocksize, §); + data = read_dev_sector(bdev, info->label_block*blocksize, §);
But that code did not look too good, in particular it was not checking return codes. So, it was on my TODO list to clean it up.
-- Pete - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |