Sorry, my previous statement about modifying only one line was incorrect.
The additional patch to work with a AA kernel modifies one line. One
segment of the 2.2.18 patch fails with 2.2.19, and it is in the apm.c
file.
Let me know if there are any problems with these....
Detailed instructions on how to patch kernel 2.2.19 for Win4Lin:
- Save the following as /usr/src/win4lin-2.2.19-apm-patch
<snip>
--- linux/arch/i386/kernel/apm.c.orig Fri Apr 6 10:48:58 2001
+++ linux/arch/i386/kernel/apm.c Fri Apr 6 10:50:19 2001
@@ -1536,9 +1536,22 @@
* This is for buggy BIOS's that refer to (real mode) segment 0x40
* even though they are called in protected mode.
*/
+#ifndef BEFORE_GDT_PATCH
+ gdt[APM_40 >> 3].a = 0x00000000;
+ gdt[APM_40 >> 3].b = 0x00409200;
+#endif
set_base(gdt[APM_40 >> 3],
__va((unsigned long)0x40 << 4));
_set_limit((char *)&gdt[APM_40 >> 3], 4095 - (0x40 << 4));
+
+#ifndef BEFORE_GDT_PATCH
+ gdt[APM_CS >> 3].a = 0x00000000;
+ gdt[APM_CS >> 3].b = 0x00409a00 ;
+ gdt[APM_CS_16 >> 3].a = 0x00000000;
+ gdt[APM_CS_16 >> 3].b = 0x00009a00;
+ gdt[APM_DS >> 3].a = 0x00000000;
+ gdt[APM_DS >> 3].b = 0x00409200;
+#endif
apm_bios_entry.offset = apm_info.bios.offset;
apm_bios_entry.segment = APM_CS;
<snip>
- Make sure you have /usr/src/linux-2.2.19.tar.bz2 from kernel.org
- Make sure you have Kernel-Win4Lin2_2.2.18-1.patch from netraverse.
- Run:
% tar -xvf linux-2.2.19.tar.bz2 --use=bzip2
% cat Kernel-Win4Lin2_2.2.18-1.patch | (cd linux ; patch -p1)
(Will fail on arch/i386/kernel/apm.c)
% cat win4lin-2.2.19-apm-patch | (cd linux; patch -p1)
Configure, compile, and install as normal.
**************************************************************
**** Only for those applying Andrea's 2.2.19aa1.bz2 patch ****
**************************************************************
Save the following as win4lin-2.2.19-aa-patch:
<snip>
--- linux/arch/i386/mm/mkivmem.c.orig Sat Feb 17 12:28:12 2001
+++ linux/arch/i386/mm/mkivmem.c Sat Feb 17 12:28:55 2001
@@ -410,7 +410,7 @@
MKI_ASSERT(pageinfop->inode != NULL);
MKI_ASSERT(file->f_dentry->d_inode == pageinfop->inode);
- MKI_ASSERT(pageinfop->offset == offset);
+ MKI_ASSERT(pgoff2loff(pageinfop->index) == offset);
if ((physpte & (_PAGE_DIRTY | _PAGE_ACCESSED)) == 0) {
/*
<snip>
Then run:
% tar -xvf linux-2.2.19.tar.bz2 --use=bzip2
% bzcat 2.2.19aa1.bz2 | (cd linux ; patch -p1)
% cat Kernel-Win4Lin2_2.2.18-1.patch | (cd linux ; patch -p1)
(Will fail on arch/i386/kernel/apm.c)
% cat win4lin-2.2.19-apm-patch | (cd linux; patch -p1)
% cat win4lin-2.2.19-aa-patch | (cd linux ; patch -p1)
Again, configure, compile, and install as normal.
On Fri, 6 Apr 2001, Michael L Torrie wrote:
> Would you be so kind as to post your diff here. I'm ready to upgrade to
> 2.2.19 any time...
>
> Michael
>
>
> On Fri, 6 Apr 2001, Richard Fish wrote:
>
> > On Thu, 5 Apr 2001, Michael L Torrie wrote:
> >
> > > This is unfortunate. The official 2.2.19 has been released and I'm
> > > running it on my workstations. I wonder if 2.2.19 has the newer 2.4-style
> > > vm architecture changes merged into it. Well, now it seems win4lin no
> > > longer runs on linux 2.2.x at all. (Even win4lin 2.0). I guess I'll just
> >
> > No, the incompatible VM changes are not in 2.2.19. I'm using W4L on a
> > 2.2.19 kernel without any trouble at all. Of course, my kernel is updated
> > with the latest LFS, RAID, and other patches from Andrea, as well as the
> > latest IDE super patch. Even with all of that though, my patch to fix W4L
> > on this setup only modifies 1 line.
> >
> >
>
> _______________________________________________
> Win4Lin-users mailing list
> [EMAIL PROTECTED]
> https://lists.netraverse.com/mailman/listinfo/win4lin-users
>
--
Richard Fish Enhanced Software Technologies, Inc.
Sr. Software Engineer 2920 E Camelback Rd Suite 250
[EMAIL PROTECTED] Phoenix, AZ 85016
(602) 470-1115 http://www.estinc.com
_______________________________________________
Win4Lin-users mailing list
[EMAIL PROTECTED]
https://lists.netraverse.com/mailman/listinfo/win4lin-users