Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #16  
Old 09-12-2003, 16:34
wps8848
 
Posts: n/a
to Sten:
Quote:
Well, it's up to you now to determine why memory reference to HalInitializeProcessor leads to BSOD.. There is routine inside multicpu.cpp that counts number of CPUs (mp_GetNumberOfCPUs()). And this routine references to HalInitializeProcessor. You can insert breakpoint at the begining
What dose this means?

On this machine, I pluged a PCI 2 USB2.0 Card. Which can not work. The card is manufactured by a small company and is very cheap. Maybe some bugs exists with it. I've try it on two machines. It cannot work on both of them.
Reply With Quote
  #17  
Old 09-12-2003, 16:43
wps8848
 
Posts: n/a

I'm sorry for the mistakes in the reply above.
It should like this one.
Quote:
Do you have a non-standard HAL?
What dose this means?

On this machine, I pluged a PCI 2 USB2.0 Card. Which can not work. The card is manufactured by a small company and is very cheap. Maybe some bugs exists with it. I've try it on two machines. It cannot work on both of them.
Reply With Quote
  #18  
Old 09-12-2003, 17:19
Satyric0n
 
Posts: n/a
Sten, adding that registry entry worked great. Runs perfectly now. Thanks very much!
Reply With Quote
  #19  
Old 09-12-2003, 17:23
Sten Sten is offline
Friend
 
Join Date: Jan 2002
Posts: 50
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 0 Times in 0 Posts
Sten Reputation: 0
Quote:
What dose this means?
I mean, do you have a hal.dll from manufacturer other than Microsoft?
Reply With Quote
  #20  
Old 09-12-2003, 17:29
wps8848
 
Posts: n/a
Quote:
I mean, do you have a hal.dll from manufacturer other than Microsoft?
I've checked the hal.dll file.
I's from MS.

in the property of it, i can get some information like this.
5.2.3790.0
Hardware Abstraction Layer DLL
� Microsoft Corporation. All rights reserved.
5.2.3790.0 (srv03_rtm.030324-2048)

I've try to bpx on HalInitializeProcessor. cannot break at there.
error & BSOD ocurred.

I have no the ability to debug drivers.
Reply With Quote
  #21  
Old 09-12-2003, 17:56
Sten Sten is offline
Friend
 
Join Date: Jan 2002
Posts: 50
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 0 Times in 0 Posts
Sten Reputation: 0
Quote:
I've try to bpx on HalInitializeProcessor. cannot break at there.
error & BSOD ocurred.
HalInitializeProcessor executes only at system startup for each processor in the system. It's useless to set breakpoint there.

What I asked you was to insert INT 3 instruction in IceExt source code (at the beginning of mp_GetNumberOfCPUs). Then recompile IceExt and run it. (ensure you have i3here ON or DRV). Then just trace through this routine.

You can also use

!PTE HalInitializeProteccor

command. Send me the results. (but beware! there is bug in !PTE implementation in IceExt 0.51 so some PTE bits are decoded incorrectly - this will be fixed soon).

Quote:
I have no the ability to debug drivers.
You have SoftICE installed. So you DO have the ability to debug drivers.
The only thing you need is some patience.
Reply With Quote
  #22  
Old 09-12-2003, 18:07
wps8848
 
Posts: n/a
to Sten:
Quote:
You have SoftICE installed. So you DO have the ability to debug drivers.
OK. I'll try it the next week. Today is friday. I'll go home a few min later.


I'm looking for a new job.
Quote:
You can also use !PTE HalInitializeProteccor
all cmd of IceExt cannot be used now.

I'll insert int 3 and trace it.
Reply With Quote
  #23  
Old 09-16-2003, 13:59
wps8848
 
Posts: n/a
I've modified the source code and traced into it.

error occured at here in the file multicpu.cpp

DWORD __declspec(naked) mp_GetNumberOfCPUs()
{
__asm
{
pushad
int 3
mov ecx, 128
mov edi, offset HalInitializeProcessor
mov edi, [edi]
cld

search_some_bytes:
mov al, 89h
repne scasb <====!!!! error ocurred here
jnz short return_default
..........
retn
}
}

cause my PC has only one CPU. so, i modified this function like this

DWORD __declspec(naked) mp_GetNumberOfCPUs()
{
__asm{
xor eax,eax
inc eax
retn
}
}

after rebuild, IceExt works fine.
Reply With Quote
  #24  
Old 09-16-2003, 19:19
Sten Sten is offline
Friend
 
Join Date: Jan 2002
Posts: 50
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 0 Times in 0 Posts
Sten Reputation: 0
Hi All!

First of all IceExt 0.53 has been released.

wps8848:
Quote:
mov al, 89h
repne scasb <====!!!! error ocurred here
jnz short return_default
Well, mp_GetNumberOfCPUs() is not very good name for this routine. It has a side effect - on multicpu platforms it sets mp_PCR_VA_array variable. For one-cpu computer mp_PCR_VA_array has default value so you patch works quite well.
I dediced to rename this routine to the mp_AnalyzeHalInitProcessor.

Now you have a choice - to patch this routine in the every next build :-) or to dig a little deeper in order to determine why 89h byte can not be found in your HalInitializeProcessor or why read access to HalInitiailzeProcessor routine lead to BSOD..

As I described earlier you can do something like this:

db HalInitializeProcessor

If you seen some question marks - that's bad..
And more poverfull command:

!PTE HalInitializeProcessor

should tell you everything about the memory page where the HalInitializeProcessor is located.
Reply With Quote
  #25  
Old 09-17-2003, 09:35
wps8848
 
Posts: n/a
Sten,
Quote:
As I described earlier you can do something like this:

db HalInitializeProcessor

If you seen some question marks - that's bad..
And more poverfull command:

!PTE HalInitializeProcessor

should tell you everything about the memory page where the HalInitializeProcessor is located.
I have done as your sugests.

I use db & !pte on two of my machines.
the result is different.
the dumped file is in the attachment.
two files included.

err.bin the screen i dumped using !dumpscreen on the machine BSOD occurs there
ok.bin the screen i dumped using !dumpscreen on the machine worked fine

use SiwRender.exe translate them to BMP yourself.

best regards.
Attached Files
File Type: zip si.zip (3.0 KB, 20 views)
Reply With Quote
  #26  
Old 09-17-2003, 17:10
Sten Sten is offline
Friend
 
Join Date: Jan 2002
Posts: 50
Rept. Given: 0
Rept. Rcvd 0 Times in 0 Posts
Thanks Given: 0
Thanks Rcvd at 0 Times in 0 Posts
Sten Reputation: 0
Ok. So HalInitializeProcessor is inaccessible on you system where IceExt fails. Quite strange..
I'll code simple workaroung in the next IceExt version.
Reply With Quote
  #27  
Old 09-27-2003, 11:20
3boy
 
Posts: n/a
why ?when is rebuild the ICeExt.sys is error on the build lib kosxxxx.lib

please send your iceext.sys to my [email protected]
thk
Reply With Quote
  #28  
Old 10-08-2003, 09:13
wps8848
 
Posts: n/a
Re: why ?when is rebuild the ICeExt.sys is error on the build lib kosxxxx.lib

Quote:
Originally posted by 3boy
please send your iceext.sys to my [email protected]
thk
I am sorry for so much latency. I read your post just now.

to rebuild it with w2k3 DDK, do like this.

1. modify the file "sources" in the SRC.
in the file , something like this
# *********************************************************************
# remove ntoskrnlnt4.lib if you don't have it
# I'm using old library for NT4 compability
# *********************************************************************
TARGETLIBS=$(BASEDIR)\LIB\W2K\i386\ntoskrnlnt4.lib $(BASEDIR)\LIB\W2K\i386\hal.lib ntice.lib

I modified it as this
TARGETLIBS=$(BASEDIR)\LIB\Wnet\i386\ntoskrnl.lib $(BASEDIR)\LIB\Wnet\i386\hal.lib ntice.lib

2. modify the file "make.bat" (maybe not needed)

et SAVEDDIR=%CD%

call %BASEDIR%\bin\setenv.bat %BASEDIR% fre wnet
cd /d %SAVEDDIR%

set SAVEDDIR=

del .\objfre_wnet_x86\i386\*.res

prefast build
prefast list
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
SI+IceExt 0.6 = BSOD AnteC General Discussion 4 03-08-2004 20:52


All times are GMT +8. The time now is 21:10.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )