Opened 19 years ago
Closed 18 years ago
#553 closed bug (fixed)
add-ons: kernel/cpu/generic_x86 -> KDL on pentium 233mmx
Reported by: | Owned by: | axeld | |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Add-Ons | Version: | R1/pre-alpha1 |
Keywords: | Cc: | diver, umccullough@…, j_freeman@… | |
Blocked By: | Blocking: | ||
Platform: | x86 |
Description
2 lines from KDL: generic_86: intel_initFv + 0x0056 generic_86: intel_stdopsFle + 0x0027 I guess the problem is that there is no mtrr register on a pentium mmx and bellow. (just checking the file /be-src/develop/HaikuTree/trunk/src/add-ons/kernel/cpu/x86/intel.cpp) Anyway renaming this module haiku does not KDL and reaches happylly the desktop!!
Attachments (7)
Change History (24)
comment:1 by , 19 years ago
Cc: | added |
---|
comment:2 by , 19 years ago
Cc: | added |
---|
comment:3 by , 19 years ago
Cc: | added |
---|
comment:4 by , 18 years ago
comment:5 by , 18 years ago
with hrev17574 still no luck! I will test it again with hrev17581 (the fixing of /haiku/trunk/src/system/kernel/arch/x86/arch_cpu.c that caused Haiku to crash when there was no CPU module and may be loading ok the generic_x86 ). If still no luck, the full KDL message including back trace will be next to come.:)
by , 18 years ago
Attachment: | sysinfo.txt added |
---|
sysinfo with hrev17590 on P233MMX without the module generic_x86
follow-up: 7 comment:6 by , 18 years ago
Platform: | → All |
---|
Hello Kaoutsis, could you dump a new stacktrace again ? The one you attached isn't current with the code. Thanks.
by , 18 years ago
Attachment: | TheNewStackTraceP233mmx-r19851.txt added |
---|
follow-up: 9 comment:8 by , 18 years ago
follow-up: 10 comment:9 by , 18 years ago
Summary: | /boot/beos/system/add-ons/kernel/cpu/generic_x86 makes Haiku goes KDL in a pentium 233 mmx → /boot/beos/system/add-ons/kernel/cpu/generic_x86 makes Haiku goes -ons/kernel/cpu/generic_x86 makes Haiku goeKDL in a pentium 233 mmx |
---|
Replying to korli:
Replying to kaoutsis:
Replying to korli: added the new stack trace
Thanks for the stack trace. I'm still a bit surprised because it doesn't match the current code (see in src/add-ons/kernel/cpu/x86/intel.cpp). Could you make sure your build is OK ?
Hi Jérôme, Some informations i gather: $ jam -v Jam 2.5-haiku-20060813. OS=BEOS. Copyright 1993-2002 Christopher Seiwald. $ gcc -v using priority 5 Reading specs from /boot/develop/tools/gnupro/lib/gcc-lib/i586-pc-beos/2.95.3-beos-060710/specs gcc version 2.95.3-beos-060710 $
$ svn -v status ? intel.cpp.modified
19851 18879 korli . 19851 15567 axeld via.cpp 19851 15522 axeld intel.h 19851 17572 axeld amd.cpp 19851 17574 axeld generic_x86.cpp 19851 15522 axeld via.h 19851 18879 korli Jamfile 19851 15522 axeld amd.h 19851 15567 axeld generic_x86.h 19851 15567 axeld intel.cpp
$ cd /be-src/develop/HaikuTree/trunk/generated/objects/haiku/x86/release/add-ons/kernel/cpu/x86/ $ ls -lh total 19k -rw-r--r-- 1 baron users 1.5k Jan 13 10:49 amd.o -rwx--x--x 1 baron users 11k Jan 18 01:39 generic_x86 -rw-r--r-- 1 baron users 2.4k Jan 13 10:49 generic_x86.o -rw-r--r-- 1 baron users 1.5k Jan 13 10:49 intel.o -rw-r--r-- 1 baron users 1.6k Jan 13 10:50 via.o
For the time i can not think anything else. Bye,
Vasilis
follow-up: 11 comment:10 by , 18 years ago
Replying to kaoutsis:
$ ls -lh total 19k -rw-r--r-- 1 baron users 1.5k Jan 13 10:49 amd.o -rwx--x--x 1 baron users 11k Jan 18 01:39 generic_x86 -rw-r--r-- 1 baron users 2.4k Jan 13 10:49 generic_x86.o -rw-r--r-- 1 baron users 1.5k Jan 13 10:49 intel.o -rw-r--r-- 1 baron users 1.6k Jan 13 10:50 via.o
For the time i can not think anything else.
Maybe try this : strings generic_x86 | grep intel_count_mtrrs
With a current build it shouldn't return a match (the function doesn't exist anymore)
comment:11 by , 18 years ago
Jérôme wrote:
Maybe try this : strings generic_x86 | grep intel_count_mtrrs
With a current build it shouldn't return a match (the function doesn't exist anymore)
It doesn't return a match: $ strings generic_x86 | grep intel_count_mtrrs $ strings generic_x86 | grep intel_count_mtrrs $ strings generic_x86 | grep intel_count_mtrrs $ strings generic_x86 | grep intel_count_mtrrs $ strings generic_x86 _DYNAMIC _GLOBAL_OFFSET_TABLE_ deregister_frame_info register_frame_info gPhysicalMask generic_count_mtrrs get_current_cpuid x86_read_msr generic_init_mtrrs x86_write_msr generic_set_mtrr generic_get_mtrr generic_mtrr_compute_physical_mask get_cpuid generic_dump_mtrrs modules gIntelModule gAMDModule gVIAModule _get_system_info generated/objects/haiku/x86/release/system/kernel/kernel.so _edata bss_start generic_x86 cpu/generic_x86/amd/v1 cpu/generic_x86/intel/v1 cpu/generic_x86/via/v1 GCC: (GNU) 2.95.3-beos-060710 GCC: (GNU) 2.95.3-beos-060710 GCC: (GNU) 2.95.3-beos-060710 GCC: (GNU) 2.95.3-beos-060710 GCC: (GNU) 2.95.3-beos-060710 GCC: (GNU) 2.95.3-beos-060710 .symtab .strtab .shstrtab .hash .dynsym .dynstr .rel.dyn .rel.plt .init .text .fini .rodata .data .eh_frame .dynamic .ctors .dtors .comment generic_x86.cpp amd.cpp amd_init_mtrrsFv amd_initFv amd_stdopsFle intel.cpp intel_init_mtrrsFv intel_initFv intel_stdopsFle via.cpp via_count_mtrrsFv via_init_mtrrsFv via_initFv via_stdopsFle generic_init_mtrrs _DYNAMIC gAMDModule get_cpuid get_current_cpuid generic_mtrr_compute_physical_mask gIntelModule modules gVIAModule deregister_frame_info gPhysicalMask generic_get_mtrr bss_start _get_system_info x86_write_msr _edata _GLOBAL_OFFSET_TABLE_ generic_count_mtrrs generic_set_mtrr generic_dump_mtrrs x86_read_msr register_frame_info Developer Build BEOS:APP_VERSION $
comment:12 by , 18 years ago
Summary: | /boot/beos/system/add-ons/kernel/cpu/generic_x86 makes Haiku goes -ons/kernel/cpu/generic_x86 makes Haiku goeKDL in a pentium 233 mmx → add-ons: kernel/cpu/generic_x86 -> KDL on pentium 233mmx |
---|
comment:13 by , 18 years ago
Component: | Applications → Add-Ons |
---|---|
Platform: | All → x86 |
Version: | → R1 development |
follow-up: 15 comment:14 by , 18 years ago
Ok, maybe GCC optimizes the code and inline some functions into intel_init().
Have you a serial output on this machine ? If yes, could you enable the TRACE macro in generic_x86.cpp (you also need to enable the serial output in kernel settings) ?
comment:15 by , 18 years ago
by , 18 years ago
Attachment: | arch_cpu.h.diff added |
---|
by , 18 years ago
Attachment: | generic_x86.cpp.diff added |
---|
comment:16 by , 18 years ago
Possible fix: With Jérôme support, we have a possible fix. I tested only in my machine, since i don't have a way to try it with modern hardware. Attached: a) arch_cpu.h.diff for haiku/trunk/headers/private/kernel/arch/x86/ arch_cpu.h b) generic_x86.cpp.diff for haiku/trunk/src/add-ons/kernel/cpu/x86/ generic_x86.cpp
comment:17 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thanks! I've applied the patch now in hrev19899, and I'll close this bug :-)
This could have been fixed with hrev17574. Can you recheck? And if it doesn't work
If it still doesn't work, I could make use of the output of the "sysinfo" command, as well as the full KDL message including back trace.