VirtualBox

Ticket #2848 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

Error in BIOS int 13h/ah=48h

Reported by: qimingos Owned by:
Priority: critical Component: other
Version: VirtualBox 2.1.0 Keywords: BIOS int13
Cc: Guest type: other
Host type: other

Description

The segment and offset of EDD configuration parameters be reversed. This bug in file src/VBox/Devices/PC/BIOS/rombios.c

832typedef struct {
833 	    Bit16u  size;
834 	    Bit16u  infos;
835 	    Bit32u  cylinders;
836 	    Bit32u  heads;
837 	    Bit32u  spt;
838 	    Bit32u  sector_count1;
839 	    Bit32u  sector_count2;
840 	    Bit16u  blksize;
841 	    Bit16u  dpte_segment;       // <-----
842 	    Bit16u  dpte_offset;        // <-----
843 	    Bit16u  key;
844 	    Bit8u   dpi_length;
845 	    Bit8u   reserved1;
846 	    Bit16u  reserved2;
847 	    Bit8u   host_bus[4];
848 	    Bit8u   iface_type[8];
849 	    Bit8u   iface_path[8];
850 	    Bit8u   device_path[8];
851 	    Bit8u   reserved3;
852 	    Bit8u   checksum;
853 	    } dpt_t;

dpte_segment、 dpte_offset is reversed。This struct Should be:

832typedef struct {
833 	    Bit16u  size;
834 	    Bit16u  infos;
835 	    Bit32u  cylinders;
836 	    Bit32u  heads;
837 	    Bit32u  spt;
838 	    Bit32u  sector_count1;
839 	    Bit32u  sector_count2;
840 	    Bit16u  blksize;
841 	    Bit16u  dpte_offset;         // <-----
842 	    Bit16u  dpte_segment;        // <-----
843 	    Bit16u  key;
844 	    Bit8u   dpi_length;
845 	    Bit8u   reserved1;
846 	    Bit16u  reserved2;
847 	    Bit8u   host_bus[4];
848 	    Bit8u   iface_type[8];
849 	    Bit8u   iface_path[8];
850 	    Bit8u   device_path[8];
851 	    Bit8u   reserved3;
852 	    Bit8u   checksum;
853 	    } dpt_t;

If you don't believe me, please see the source of Bochs.In file bios\rombios.c (line 753-775).

Please fix it.Thank you.

Change History

comment:1 Changed 5 years ago by sandervl73

  • Status changed from new to closed
  • Resolution set to fixed

Thanks for the report. Fixed now.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use