p123_pcbe is useless and can be removed
Looking at x86_archext.h, I started wondering what the following defines are about:
#define P5_MCHADDR 0x0 #define P5_CESR 0x11 #define P5_CTR0 0x12 #define P5_CTR1 0x13 #define K5_MCHADDR 0x0 #define K5_MCHTYPE 0x01 #define K5_TSC 0x10 #define K5_TR12 0x12 #define REG_MC0_CTL 0x400 #define REG_MC5_MISC 0x417 #define REG_PERFCTR0 0xc1 #define REG_PERFCTR1 0xc2 #define REG_PERFEVNT0 0x186 #define REG_PERFEVNT1 0x187
It turns out that they are used only by usr/src/uts/intel/pcbe/p123_pbce.c, which is useless as we no longer support 32bit CPUs, so both the defines and code/module itself can be removed.
Updated by Joshua M. Clulow over 4 years ago
p123_pcbe is shipped as
pcbe.GenuineIntel.5. These modules are loaded by
kcpc_init(), which calls
kcpc_hw_load_pcbe(). In the latter function, we pass the vendor prefix (i.e.,
GenuineIntel and the family (5 or 6).
Looking at the list of Intel microprocessors on Wikipedia, it does indeed seem that Family 5 was the (32-bit) Pentium and that Family 6 was predominantly 32-bit as well.
This change leaves behind
core_pcbe which handles later Family 6 chips, which were 64-bit.
Updated by Electric Monk over 4 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit b13f152e9f7bf4b4426892b07a35568bd4d9e17f Author: Yuri Pankov <email@example.com> Date: 2018-03-11T06:46:05.000Z 9251 p123_pcbe is useless and can be removed Reviewed by: Toomas Soome <firstname.lastname@example.org> Reviewed by: Peter Tribble <email@example.com> Approved by: Joshua M. Clulow <firstname.lastname@example.org>