[haiku-bugs] Re: [Haiku] #9930: KDL in pci_mechpcie_read_config at the system start

  • From: "siarzhuk" <trac@xxxxxxxxxxxx>
  • Date: Sun, 18 Aug 2013 08:59:35 -0000

#9930: KDL in pci_mechpcie_read_config at the system start
-----------------------------+--------------------------------------
   Reporter:  siarzhuk       |      Owner:  korli
       Type:  bug            |     Status:  new
   Priority:  normal         |  Milestone:  R1
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:                 |   Keywords:  pci_mechpcie_read_config
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  All
-----------------------------+--------------------------------------

Comment (by siarzhuk):

 The same information for GCC2 Hybrid:

 {{{
 Function pci_mechpcie_read_config(void *, unsigned char, unsigned char,
 unsigned char, unsigned short, unsigned char, unsigned long *)
 0003285c:                    55     push   %ebp
 0003285d:                  89e5     mov    %esp,%ebp
 0003285f:                    57     push   %edi
 00032860:                    56     push   %esi
 00032861:                    53     push   %ebx
 00032862:            e800000000     call   32867
 00032867:                    5b     pop    %ebx
 00032868:          81c305890700     add    $0x78905,%ebx
 0003286e:                8b7520     mov    0x20(%ebp),%esi
 00032871:          8b93a0000000     mov    0xa0(%ebx),%edx
 00032877:                  31c9     xor    %ecx,%ecx
 00032879:                8a4d0c     mov    0xc(%ebp),%cl   ; param 2 (
 unsigned char)
 0003287c:                c1e114     shl    $0x14,%ecx
 0003287f:                8a4510     mov    0x10(%ebp),%al  ; param 3 (
 unsigned char)
 00032882:                  241f     and    $0x1f,%al
 00032884:            25ff000000     and    $0xff,%eax
 00032889:                c1e00f     shl    $0xf,%eax
 0003288c:                  09c1     or     %eax,%ecx
 0003288e:                8a4514     mov    0x14(%ebp),%al  ; param 4 (
 unsigned char)
 00032891:                  2407     and    $0x7,%al
 00032893:            25ff000000     and    $0xff,%eax
 00032898:                c1e00c     shl    $0xc,%eax
 0003289b:                  09c1     or     %eax,%ecx
 0003289d:                8b4518     mov    0x18(%ebp),%eax
 000328a0:                  31ff     xor    %edi,%edi
 000328a2:                80e40f     and    $0xf,%ah
 000328a5:            25ffff0000     and    $0xffff,%eax
 000328aa:                  09c1     or     %eax,%ecx
 000328ac:                  31c0     xor    %eax,%eax
 000328ae:                8a451c     mov    0x1c(%ebp),%al
 000328b1:                  030a     add    (%edx),%ecx
 000328b3:                83f802     cmp    $0x2,%eax
 000328b6:                  741c     je     328d4
 000328b8:                  7f0a     jg     328c4
 000328ba:                83f801     cmp    $0x1,%eax
 000328bd:                  740d     je     328cc
 000328bf:                  eb27     jmp    328e8
 000328c1:                8d7600     lea    0x0(%esi),%esi

 Referenced by (conditionnal) jump(s) at Address(es):
         000328B8
 000328c4:                83f804     cmp    $0x4,%eax
 000328c7:                  7417     je     328e0
 000328c9:                  eb1d     jmp    328e8
 000328cb:                    90     nop

 Referenced by (conditionnal) jump(s) at Address(es):
         000328BD
 000328cc:                  31c0     xor    %eax,%eax
 000328ce:                  8a01     mov    (%ecx),%al
 000328d0:                  8906     mov    %eax,(%esi)
 000328d2:                  eb19     jmp    328ed

 Referenced by (conditionnal) jump(s) at Address(es):
         000328B6
 000328d4:                  31c0     xor    %eax,%eax
 000328d6:                668b01     mov    (%ecx),%ax    <<<<< FAULT HERE
 <<<<<<
 000328d9:                  8906     mov    %eax,(%esi)
 000328db:                  eb10     jmp    328ed
 000328dd:                8d7600     lea    0x0(%esi),%esi

 Referenced by (conditionnal) jump(s) at Address(es):
         000328C7
 000328e0:                  8b01     mov    (%ecx),%eax
 000328e2:                  8906     mov    %eax,(%esi)
 000328e4:                  eb07     jmp    328ed
 000328e6:                  89f6     mov    %esi,%esi

 Referenced by (conditionnal) jump(s) at Address(es):
         000328BF  000328C9
 000328e8:            bfffffffff     mov    $0xffffffff,%edi

 Referenced by (conditionnal) jump(s) at Address(es):
         000328D2  000328DB  000328E4
 000328ed:                  89f8     mov    %edi,%eax
 000328ef:                    5b     pop    %ebx
 000328f0:                    5e     pop    %esi
 000328f1:                    5f     pop    %edi
 000328f2:                  89ec     mov    %ebp,%esp
 000328f4:                    5d     pop    %ebp
 000328f5:                    c3     ret

 }}}

--
Ticket URL: <http://dev.haiku-os.org/ticket/9930#comment:1>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: