2.4.20-rc2 strange L1 cache values

Margit Schubert-While (margit@margit.com)
Wed, 20 Nov 2002 21:40:51 +0100


Another peculiar thing - Why is /proc/cpuinfo showing "ht" ?

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 2
model name : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping : 4
cpu MHz : 2400.159
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips : 4784.12

-
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/


a & 0x0010) ||
| (id->dma_ultra & 0x0008)) ? 1 : 0;
| byte ultra_100 = ((id->dma_ultra & 0x0020) ||
| (ultra_66)) ? 1 : 0;
| byte ultra_133 = ((id->dma_ultra & 0x0040) ||
| (ultra_100)) ? 1 : 0;
|
| Now, lets take a PIIX driver
|
| int ultra100 = ((dev->device ==
| PCI_DEVICE_ID_INTEL_82801BA_8) ||
| (dev->device ==
| PCI_DEVICE_ID_INTEL_82801BA_9) ||
| (dev->device ==
| PCI_DEVICE_ID_INTEL_82801CA_10)) ? 1 : 0;
| int ultra66 = ((ultra100) ||
| (dev->device ==
| PCI_DEVICE_ID_INTEL_82801AA_1) ||
| (dev->device ==
| PCI_DEVICE_ID_INTEL_82372FB_1)) ? 1 : 0;
|
| if ((id->dma_ultra & 0x0020) && (udma_66) && (ultra100)) {
| speed = XFER_UDMA_5;
|
| where ultra100 and ultra66 is not or'ed with 0x0010 and 0x0008. The final
| check is only with 0x0020. I have found this issues with other IDE drivers
| like amd74xx.c, serverworks.c etc. SO, make the above changes in the
drivers
| and u should see UDMA 5 on those seagate drives on startup ...
|
| Thanks
| Manish
Okay, now, i've been looking in drivers/ide/amd74xx.c
and
config_chipset_for_dma(ide_drive_t)
has:
byte udma_66 = eighty_ninty_three(drive);
byte udma_100 = ((dev->device==PCI_DEVICE_ID_AMD_VIPER_7411)||

(dev->device==PCI_DEVICE_ID_AMD_VIPER_7441)) ? 1 : 0;

and.. also.. like you've said:
if ((id->dma_ultra & 0x0020) && (udma_66) && (udma_100)) {
~ speed = XFER_UDMA_5;

now.. my lame question is:
should I put:
byte udma66 = (eighty_ninty_three(drive) & 0x0010 ||
eighty_ninty_three(drive) & 0x0008) ? 1 : 0;
or eighty_ninty_three (ide_drive_t *drive), or even some other thing be
the one that should be changed for a proper fix. (if this is really the
way to solve it)

One other thing...
in config_chipset_for_dma() right after the declarations we have:

if(udma_100)
udma_66 = eighty_ninty_three(drive);

is this really needed, since udma_66 is declared and initialized with
that same value?

Sorry if this are lame questions, just trying to learn... :-\

Thanks
Miguel Sousa Filipe

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE92+w8YBjDU2rJcrARAolPAJ4xi1LIpGcNUTUlGY+Qg9ZlzABxSQCcDBzl
Q/y4q7IiE0O5HllvTD877ZU=
=RBMC
-----END PGP SIGNATURE-----
-
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/