SeaBIOS

SeaBIOS Git Change Log

Age Message
8 years 5 months Note version 0.4.2.
8 years 5 months Ramdisk cleanups.

Use malloc code to allocate space for floppy image instead of
searching e820 map - this prevents a possible conflict with memory
allocated by pmm.
Check int 1587 return code.
8 years 5 months Cleanups for malloc code.

Fix bug where zones over 2gig may fail to allocate.
Add memalign_high() and use for acpi facs allocation.
Misc code cleanups.
8 years 5 months Add defines for floppy constants.

Add defines for several of the codes used in floppy.c.
Also, actually send the gap length in the floppy commands.
Also, adjust count in floppy_cmd instead of all callers.
8 years 5 months Add initial support for PMM allocations of permanent memory.

Support PCIv3 PMM requests for permanent memory.
Only support permanent high memory requests for now.
8 years 6 months Merge cdrom 13xx handlers with main disk 13xx handlers.

Most of the cdrom_13 code did the same thing as disk_13 - so merge
them together.
Add definitions for 0xe0 (EXTSTART_CD) and 0x80 (EXTSTART_HD).
This changes the behavior for cdroms on 1315 and 1316 calls -
previously 1315 returned an error and set ah=2, now it sets ah=1
and doesn't return an error; previously 1316 returned ok, not it
returns EPARAM.
8 years 6 months Fix bug causing layoutrom.py to break if no rodata sections.

Handle case where there are no rodata sections.
8 years 6 months Update todo.
8 years 6 months Further simplify cbfs functions - don't pass iscomp to callers.

The cbfs data copy function can determine if the file is compressed on
its own - it doesn't need the iscomp parameter passed in.
8 years 6 months Work around qemu quirk - dh not reset on ata drive reset.
8 years 6 months Add support for using floppy images in CBFS.

Add new "ramdisk" type for disk accesses.
Extract out high-mem finding code from pmm into find_high_area().
Fix bug in GDB_BASE and GDT_LIMIT macros (wrong bit shifts).
8 years 6 months Rework coreboot cbfs interface for added flexibility.

Allow callers to track the cbfs_file pointer.
Also, remove obsolete code for brute-force flash scanning.
8 years 6 months Unify floppy and harddrive command routing.

Implement low-level floppy commands using the disk_op structure.
The requests can then be filled using the regular disk_13xx functions.
8 years 6 months Unify some floppy and disk functions.

Merge floppy_1301/1308/1315/1316/_ret() functions with their disk equivalents.
Store floppy type in drives structure.
8 years 6 months Change send_disk_op() to return the bios status code.
8 years 6 months Enhance boot menu to allow selection of floppy to boot from.

The bootmenu can now reorder the first floppy drive.
Note - only the drive mapping is changed - floppy variables in the BDA
are still set depending on the real floppy index.
8 years 6 months Add floppy controllers to "drives" list also.

The Drives.drives list now contains floppies, harddrives, and cdroms.
Add mapping table for external/internal drive ids for floppies.
Rename CONFIG_FLOPPY_SUPPORT to CONFIG_FLOPPY (for consistency).
Be consistent with "driveid" and "floppyid" variable names.
Replace switch statements of drive parameters into a global array.
There are some externally visible changes with this patch:
- Some calls will now return EPARAM instead of ETIMEOUT (or ECHANGED)
- floppy_1301/1308 are now only available when regs->dl is valid
- floppy_1308/1315 return EPARAM on invalid drives
8 years 6 months Store cdrom emulated driveid directly.
8 years 6 months Use variable name "driveid" consistently (instead of "device").
8 years 6 months Separate ATA code from generic disk code.

Move generic code from ata.c to new file block.c.
Rename atabits.h to ata.h and move ata header definitions from disk.h.
Rename ATA.channels to ATA_channels.
Rename ATA structure to Drives.
Support both CONFIG_DRIVES and CONFIG_ATA options.
8 years 6 months Minor - remove ATA specific version field from ATA.devices[].
8 years 6 months Densely populate ATA.devices list.

Populate ATA.devices in order of drives found; the array index no
longer correlates with the ATA.channels list.
Add cntl_id to device struct for finding the channel info.
8 years 6 months Misc ATA cleanups.

Remove some unused defines.
Rename ATA_TYPE_* to DTYPE_* and move from atabits.h to disk.h.
Rename ATA_TRANSLATION_* to TRANSLATION_* and move from atabits.h to disk.h.
Convert bios is-drive-ready call to use send_disk_op().
Only add atapi devices to the cdmap if they are cd/dvd roms.
Remove 'device' from struct ata_devices_s.
8 years 6 months Add helper macros for defining GDT descriptors.
8 years 6 months Route disk_op commands by drive type - not by command.

Don't confuse op->command with low-level ata cmd->command.
Modify __send_disk_op to route commands by drive type.
Add commands for verify and seek operations.
Do ata resets via disk_op also.