Index: sys/arch/x86/x86/powernow_k8.c =================================================================== RCS file: /e/cvsync/cvsync/src/sys/arch/x86/x86/powernow_k8.c,v retrieving revision 1.20 diff -u -r1.20 powernow_k8.c --- sys/arch/x86/x86/powernow_k8.c 5 Apr 2007 21:23:43 -0000 1.20 +++ sys/arch/x86/x86/powernow_k8.c 23 Dec 2007 12:12:20 -0000 @@ -294,11 +294,31 @@ struct powernow_pst_s *pst; uint8_t *p; int i; + int j, flag; + char tmp[32]; - DPRINTF(("%s: before the for loop\n", __func__)); + DPRINTF(("%s: before the for loop len(%x)\n", __func__, BIOS_LEN)); for (p = (uint8_t *)ISA_HOLE_VADDR(BIOS_START); p < (uint8_t *)ISA_HOLE_VADDR(BIOS_START + BIOS_LEN); p += 16) { + // flag = 0; + // for (j = 0 ; j < 16 ; j++) if (0x1f < *(p+j) && *(p+j) < 0x7f) flag++; + flag = 0; + strlcpy(tmp,p,16); + if (strstr(tmp, "MD")) flag++; + if (strstr(tmp, "AM")) flag++; + if (strstr(tmp, "PO")) flag++; + if (strstr(tmp, "OW")) flag++; + if (strstr(tmp, "K7")) flag++; + if (strstr(tmp, "K8")) flag++; + if (flag) { + for (j = 0 ; j < 16 ; j++) { + char *k; + k = p+j; + printf("%c", (0x1f < *k && *k < 0x7f ) ? *k : '.'); + } + printf("\n"); + } if (memcmp(p, "AMDK7PNOW!", 10) == 0) { DPRINTF(("%s: inside the for loop\n", __func__)); psb = (struct powernow_psb_s *)p; @@ -368,6 +388,7 @@ const char *techname; size_t len; + printf("%s: %d: %s\n", __func__,__LINE__,__FILE__); freq_names_len = 0; cpuname = curcpu()->ci_dev->dv_xname; @@ -388,6 +409,7 @@ * mobile processor. If not, it is a low powered desktop * processor. */ + printf("%s: %d: %s %x %x %lx\n", __func__,__LINE__,__FILE__, maxfid, maxvid, status); if (PN8_STA_SFID(status) != PN8_STA_MFID(status)) techname = "PowerNow!"; @@ -399,6 +421,7 @@ freq_names = malloc(freq_names_len, M_SYSCTLDATA, M_WAITOK); freq_names[0] = '\0'; len = 0; + printf("%s: %d: %s\n", __func__,__LINE__,__FILE__); if (cstate->n_states) { for (i = 0; i < cstate->n_states; i++) { @@ -416,13 +439,16 @@ } k8pnow_current_state = cstate; DPRINTF(("%s: freq_names=%s\n", __func__, freq_names)); + printf("%s: %d: %s\n", __func__,__LINE__,__FILE__); } } else { DPRINTF(("%s: returned 0!\n", __func__)); + printf("%s: %d: %s\n", __func__,__LINE__,__FILE__); } if (k8pnow_current_state == NULL) { DPRINTF(("%s: k8pnow_current_state is NULL!\n", __func__)); + printf("%s: %d: %s\n", __func__,__LINE__,__FILE__); goto err; }