Comment 9 for bug 6816

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Thu, 10 Jun 2004 23:51:19 -0500
From: Steve Langasek <email address hidden>
To: <email address hidden>
Subject: Debian patch to PCI initialization code on alpha has caused
 longstanding, widespread brokenness

--bAmEntskrkuBymla
Content-Type: multipart/mixed; boundary="jho1yZJdad60DJr+"
Content-Disposition: inline

--jho1yZJdad60DJr+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Package: kernel-source-2.4.26
Version: 2.4.26-2
Severity: grave

The Debian kernel image packages for alpha have been wholly unusable on
a large number of hardware configurations for probably half a year now,
dating back to around 2.4.21. Peter De Schrijver has tracked this
problem down to a broken *Debian-specific* patch in the kernel images.

Please immediately revert the patch to arch/alpha/kernel/core_cia.c in
the kernel-source package. There is no documentation in the
kernel-patch changelog or README.Debian that explains what problem this
patch was intended to solve, so I can't guarantee that reverting it
wouldn't cause problems on some machines, but I do know that reverting
it corrects the PCI setup problems on at least two different models of
alpha. I will be publishing test packages shortly with this patch
reverted, to get feedback from other alpha users who both were or were
not able to use the kernel-image-2.4.26 packages.

The reverted patch is attached for reference.

Thanks,
--=20
Steve Langasek
postmodern programmer

--jho1yZJdad60DJr+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=patch-cia
Content-Transfer-Encoding: quoted-printable

--- arch/alpha/kernel/core_cia.c.debian 2003-09-03 12:26:49.000000000 +0200
+++ arch/alpha/kernel/core_cia.c 2004-06-09 20:54:25.000000000 +0200
@@ -775,22 +775,9 @@
  *(vip)CIA_IOC_PCI_W0_MASK =3D (hose->sg_isa->size - 1) & 0xfff00000;
  *(vip)CIA_IOC_PCI_T0_BASE =3D virt_to_phys(hose->sg_isa->ptes) >> 2;
=20
- if (cia_rev =3D=3D 1) {
- __direct_map_base =3D 0x40000000;
-
- *(vip)CIA_IOC_PCI_W1_BASE =3D 0x40000000 | 1;
- *(vip)CIA_IOC_PCI_W1_MASK =3D (0x40000000 - 1) & 0xfff00000;
- *(vip)CIA_IOC_PCI_T1_BASE =3D 0 >> 2;
-
- *(vip)CIA_IOC_PCI_W2_BASE =3D 0x80000000 | 1;
- *(vip)CIA_IOC_PCI_W2_MASK =3D (0x40000000 - 1) & 0xfff00000;
- *(vip)CIA_IOC_PCI_T2_BASE =3D 0x40000000 >> 2;
- } else {
   *(vip)CIA_IOC_PCI_W2_BASE =3D __direct_map_base | 1;
- *(vip)CIA_IOC_PCI_W2_MASK =3D
- (__direct_map_size - 1) & 0xfff00000;
+ *(vip)CIA_IOC_PCI_W2_MASK =3D (__direct_map_size - 1) & 0xfff00000;
   *(vip)CIA_IOC_PCI_T2_BASE =3D 0 >> 2;
- }
=20
  /* On PYXIS we have the monster window, selected by bit 40, so
     there is no need for window3 to be enabled.
@@ -810,6 +797,7 @@
  if (is_pyxis) {
   *(vip)CIA_IOC_PCI_W3_BASE =3D 0;
  } else if (cia_rev =3D=3D 1) {
+ *(vip)CIA_IOC_PCI_W1_BASE =3D 0;
   tbia_window =3D 3;
  } else if (max_low_pfn > (0x100000000UL >> PAGE_SHIFT)) {
   *(vip)CIA_IOC_PCI_W3_BASE =3D 0;

--jho1yZJdad60DJr+--

--bAmEntskrkuBymla
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAyTpGKN6ufymYLloRAuveAKCIgr9n1v1JW4FilNcHQd13DN7J9QCeO1th
GpKONlhv/FVQwn89tbZsIq8=
=MvBy
-----END PGP SIGNATURE-----

--bAmEntskrkuBymla--