[haiku-bugs] Re: [Haiku] #13528: Early bios call in bootloader cause reboot on skylake x86_64 (was: Instant reboot of BIOS bootloader)

  • From: "kallisti5" <trac@xxxxxxxxxxxx>
  • Date: Wed, 24 May 2017 04:46:20 -0000

#13528: Early bios call in bootloader cause reboot on skylake x86_64
----------------------------------+----------------------------
   Reporter:  kallisti5           |      Owner:  nobody
       Type:  bug                 |     Status:  new
   Priority:  normal              |  Milestone:  Unscheduled
  Component:  System/Boot Loader  |    Version:  R1/Development
 Resolution:                      |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  0                   |   Platform:  All
----------------------------------+----------------------------

Old description:

Intel Sky lake Celeron 3855U

USB 3 flash media in USB socket:
{{{
No APM available.
smp: using ACPI to detect MP configuration
smp: local apic address is 0xfee00000
smp: found local APIC with id 0
smp: found local APIC with id 2
smp: found io APIC with id 2 and address 0xfec00000
VESA version = 3.0, capabilities 1
OEM string: Intel(R) SKL Mobile/Desktop Graphics Chipset Accelerated VGA
BIOS
.
 0x118: 1024 x 768 x 32 (a = 155, mem = 6, phy = c0000000, p = 1, b = 1)
        mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0
.
Using mode 0x118
VESA compatible graphics!
EDID1: 4f
EDID2: ebx 102
EDID3: 4f
Vendor: ACR
Product ID: 422
Serial #: 571535284
Produced in week/year: 21/2012
EDID version: 1.3
Type: Digital
Size: 51 cm x 29 cm
Gamma=2.2
White (X,Y)=(0.313,0.329)
Supported Future Video Modes:
1280x720@60Hz (id=49281)
1280x960@60Hz (id=16513)
1152x864@75Hz (id=20337)
1280x1024@60Hz (id=32897)
1280x1280@60Hz (id=129)
1920x1080@60Hz (id=49361)
Supported VESA Video Modes:
720x400@70Hz
640x480@60Hz
640x480@67Hz
640x480@72Hz
640x480@75Hz
800x600@56Hz
800x600@60Hz
800x600@72Hz
800x600@75Hz
832x624@75Hz
1024x768@60Hz
1024x768@70Hz
1024x768@75Hz
1280x1024@75Hz
1152x870@75Hz
Additional Video Mode (1920x1080@60Hz):
clock=148.5 MHz
h: (1920, 2008, 2052, 2200)
v: (1080, 1084, 1089, 1125)
size: 51 cm x 28.699 cm
border: 0 cm x 0 cm
Horizontal frequency range = 30..80 kHz
Vertical frequency range = 50..75 Hz
Maximum pixel clock = 160 MHz
Serial Number: LNZ080024237
Monitor Name: Acer S231HL
crtc: h 2008/2052/2200, v 1084/1089/1125, pixel clock 148500000, refresh
6026
Welcome to the Haiku boot loader!
number of drives: 2
<reboot>
}}}

AHCI Internal SSD:
{{{
options = 0
No APM available.
smp: using ACPI to detect MP configuration
smp: local apic address is 0xfee00000
smp: found local APIC with id 0
smp: found local APIC with id 2
smp: found io APIC with id 2 and address 0xfec00000
VESA version = 3.0, capabilities 1
OEM string: Intel(R) SKL Mobile/Desktop Graphics Chipset Accelerated VGA
BIOS
.
.
 0x118: 1024 x 768 x 32 (a = 155, mem = 6, phy = c0000000, p = 1, b = 1)
        mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0
.
.
Using mode 0x118
VESA compatible graphics!
EDID1: 4f
EDID2: ebx 102
EDID3: 4f
Vendor: ACR
Product ID: 422
Serial #: 571535284
Produced in week/year: 21/2012
EDID version: 1.3
Type: Digital
Size: 51 cm x 29 cm
Gamma=2.2
White (X,Y)=(0.313,0.329)
Supported Future Video Modes:
1280x720@60Hz (id=49281)
1280x960@60Hz (id=16513)
1152x864@75Hz (id=20337)
1280x1024@60Hz (id=32897)
1280x1280@60Hz (id=129)
1920x1080@60Hz (id=49361)
Supported VESA Video Modes:
720x400@70Hz
640x480@60Hz
640x480@67Hz
640x480@72Hz
640x480@75Hz
800x600@56Hz
800x600@60Hz
800x600@72Hz
800x600@75Hz
832x624@75Hz
1024x768@60Hz
1024x768@70Hz
1024x768@75Hz
1280x1024@75Hz
1152x870@75Hz
Additional Video Mode (1920x1080@60Hz):
clock=148.5 MHz
h: (1920, 2008, 2052, 2200)
v: (1080, 1084, 1089, 1125)
size: 51 cm x 28.699 cm
border: 0 cm x 0 cm
Horizontal frequency range = 30..80 kHz
Vertical frequency range = 50..75 Hz
Maximum pixel clock = 160 MHz
Serial Number: LNZ080024237
Monitor Name: Acer S231HL
crtc: h 2008/2052/2200, v 1084/1089/1125, pixel clock 148500000, refresh
6026
Welcome to the Haiku boot loader!
number of drives: 1
add_partitions_for(0x00105360, mountFS = no)
add_partitions_for(fd = 0, mountFS = no)
0x001054c8 Partition::Partition
0x001054c8 Partition::Scan()
check for partitioning_system: GUID Partition Map
<reboot>
}}}

New description:

 Intel Sky lake Celeron 3855U

 AHCI Internal SSD:
 {{{
 options = 0
 No APM available.
 smp: using ACPI to detect MP configuration
 smp: local apic address is 0xfee00000
 smp: found local APIC with id 0
 smp: found local APIC with id 2
 smp: found io APIC with id 2 and address 0xfec00000
 VESA version = 3.0, capabilities 1
 OEM string: Intel(R) SKL Mobile/Desktop Graphics Chipset Accelerated VGA
 BIOS
 .
 .
  0x118: 1024 x 768 x 32 (a = 155, mem = 6, phy = c0000000, p = 1, b = 1)
         mask: r: 8 16 g: 8 8 b: 8 0 dcmi: 0
 .
 .
 Using mode 0x118
 VESA compatible graphics!
 EDID1: 4f
 EDID2: ebx 102
 EDID3: 4f
 Vendor: ACR
 Product ID: 422
 Serial #: 571535284
 Produced in week/year: 21/2012
 EDID version: 1.3
 Type: Digital
 Size: 51 cm x 29 cm
 Gamma=2.2
 White (X,Y)=(0.313,0.329)
 Supported Future Video Modes:
 1280x720@60Hz (id=49281)
 1280x960@60Hz (id=16513)
 1152x864@75Hz (id=20337)
 1280x1024@60Hz (id=32897)
 1280x1280@60Hz (id=129)
 1920x1080@60Hz (id=49361)
 Supported VESA Video Modes:
 720x400@70Hz
 640x480@60Hz
 640x480@67Hz
 640x480@72Hz
 640x480@75Hz
 800x600@56Hz
 800x600@60Hz
 800x600@72Hz
 800x600@75Hz
 832x624@75Hz
 1024x768@60Hz
 1024x768@70Hz
 1024x768@75Hz
 1280x1024@75Hz
 1152x870@75Hz
 Additional Video Mode (1920x1080@60Hz):
 clock=148.5 MHz
 h: (1920, 2008, 2052, 2200)
 v: (1080, 1084, 1089, 1125)
 size: 51 cm x 28.699 cm
 border: 0 cm x 0 cm
 Horizontal frequency range = 30..80 kHz
 Vertical frequency range = 50..75 Hz
 Maximum pixel clock = 160 MHz
 Serial Number: LNZ080024237
 Monitor Name: Acer S231HL
 crtc: h 2008/2052/2200, v 1084/1089/1125, pixel clock 148500000, refresh
 6026
 Welcome to the Haiku boot loader!
 number of drives: 1
 add_partitions_for(0x00105360, mountFS = no)
 add_partitions_for(fd = 0, mountFS = no)
 0x001054c8 Partition::Partition
 0x001054c8 Partition::Scan()
 check for partitioning_system: GUID Partition Map
 <reboot>
 }}}

--

Comment (by kallisti5):

 BIOS reads 512 bytes from 0 (offset = 0), drive 129

 After much tracing, the bootloader seems to be hanging up here:
 http://cgit.haiku-
 os.org/haiku/tree/src/system/boot/platform/bios_ia32/devices.cpp#n546

 * is_drive_readable
 * drive->ReadAt
 * BIOSDrive::ReadAt
 * while blocksLeft > 0
   * if fLBA
     * call_bios(0x13, &regs);
       * reboot

 So... something is up with:
 src/system/boot/platform/bios_ia32/bios.cpp

--
Ticket URL: <https://dev.haiku-os.org/ticket/13528#comment:1>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts:

  • » [haiku-bugs] Re: [Haiku] #13528: Early bios call in bootloader cause reboot on skylake x86_64 (was: Instant reboot of BIOS bootloader) - kallisti5