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

  • From: "siarzhuk" <trac@xxxxxxxxxxxx>
  • Date: Sat, 17 Aug 2013 07:10:06 -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
 Keywords:  pci_mechpcie_read_config  |   Blocked By:
 Blocking:                            |  Has a Patch:  0
 Platform:  All                       |
--------------------------------------+------------------------------
 After upgrading to hrev45966 system goes into KDL on early stage of the
 boot sequence:


 {{{

 Function pci_mechpcie_read_config(void*, unsigned char, unsigned char,
 unsigned char, unsigned short, unsigned char, unsigned long*)
 00032320:                    55     push   %ebp
 00032321:                  31d2     xor    %edx,%edx
 00032323:                  89e5     mov    %esp,%ebp
 00032325:                    53     push   %ebx

 Reference to function "__x86.get_pc_thunk.bx"
 00032326:            e8dca1ffff     call   2c507
 0003232b:          81c3bd400600     add    $0x640bd,%ebx
 00032331:                8a4510     mov    0x10(%ebp),%al  ; param 3 (
 unsigned char)
 00032334:                8a550c     mov    0xc(%ebp),%dl   ; param 2 (
 unsigned char)
 00032337:                83e01f     and    $0x1f,%eax
 0003233a:                8a4d1c     mov    0x1c(%ebp),%cl
 0003233d:                c1e214     shl    $0x14,%edx
 00032340:                c1e00f     shl    $0xf,%eax
 00032343:                  09d0     or     %edx,%eax
 00032345:                8a5514     mov    0x14(%ebp),%dl  ; param 4 (
 unsigned char)
 00032348:                83e207     and    $0x7,%edx
 0003234b:                c1e20c     shl    $0xc,%edx
 0003234e:                  09d0     or     %edx,%eax
 00032350:                8b5518     mov    0x18(%ebp),%edx
 00032353:          81e2ff0f0000     and    $0xfff,%edx
 00032359:                  09d0     or     %edx,%eax
 0003235b:          8b93b0010000     mov    0x1b0(%ebx),%edx
 00032361:                  0302     add    (%edx),%eax
 00032363:                80f902     cmp    $0x2,%cl
 00032366:                  742c     je     32394
 00032368:                80f904     cmp    $0x4,%cl
 0003236b:                  741b     je     32388
 0003236d:                  fec9     dec    %cl
 0003236f:                  7406     je     32377
 00032371:                83c8ff     or     $0xffffffff,%eax
 00032374:                    5b     pop    %ebx
 00032375:                    5d     pop    %ebp
 00032376:                    c3     ret

 Referenced by (conditionnal) jump(s) at Address(es):
         0003236F
 00032377:                  8a00     mov    (%eax),%al
 00032379:                8b5520     mov    0x20(%ebp),%edx
 0003237c:            25ff000000     and    $0xff,%eax
 00032381:                  8902     mov    %eax,(%edx)
 00032383:                  31c0     xor    %eax,%eax
 00032385:                    5b     pop    %ebx
 00032386:                    5d     pop    %ebp
 00032387:                    c3     ret

 Referenced by (conditionnal) jump(s) at Address(es):
         0003236B
 00032388:                8b5520     mov    0x20(%ebp),%edx
 0003238b:                  8b00     mov    (%eax),%eax
 0003238d:                  8902     mov    %eax,(%edx)
 0003238f:                  31c0     xor    %eax,%eax
 00032391:                    5b     pop    %ebx
 00032392:                    5d     pop    %ebp
 00032393:                    c3     ret

 Referenced by (conditionnal) jump(s) at Address(es):
         00032366
 00032394:                668b00     mov    (%eax),%ax      <<<<< FAULT
 <<<<<
 00032397:                8b5520     mov    0x20(%ebp),%edx
 0003239a:            25ffff0000     and    $0xffff,%eax
 0003239f:                  8902     mov    %eax,(%edx)
 000323a1:                  31c0     xor    %eax,%eax
 000323a3:                    5b     pop    %ebx
 000323a4:                    5d     pop    %ebp
 000323a5:                    c3     ret

 }}}

 System is GCC4 Hybrid. Corresponding KDL screenshot is attached.

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

Other related posts: