diff options
-rw-r--r-- | docs/Releases.md | 11 | ||||
-rw-r--r-- | scripts/kconfig/lxdialog/check-lxdialog.sh | 2 | ||||
-rw-r--r-- | src/hw/ahci.c | 19 | ||||
-rw-r--r-- | src/sercon.c | 4 |
4 files changed, 31 insertions, 5 deletions
diff --git a/docs/Releases.md b/docs/Releases.md index 584b22f..08851ab 100644 --- a/docs/Releases.md +++ b/docs/Releases.md @@ -1,6 +1,17 @@ History of SeaBIOS releases. Please see [download](Download) for information on obtaining these releases. +SeaBIOS 1.17.0 +============== + +Available on 20250610. Major changes in this release: + +* Prefer PCI IO allocations above 4Gig on 64bit capable machines. +* Multiple simultaneous USB keyboard and mouse support. +* Legacy support for internally generated ACPI tables has been removed. +* SeaVGABIOS support for VBE get/set palette data. +* Several bug fixes and code cleanups. + SeaBIOS 1.16.0 ============== diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh index 9d2a4c5..66bfcb5 100644 --- a/scripts/kconfig/lxdialog/check-lxdialog.sh +++ b/scripts/kconfig/lxdialog/check-lxdialog.sh @@ -43,7 +43,7 @@ trap "rm -f $tmp" 0 1 2 3 15 check() { $cc -x c - -o $tmp 2>/dev/null <<'EOF' #include CURSES_LOC -main() {} +int main() {} EOF if [ $? != 0 ]; then echo " *** Unable to find the ncurses libraries or the" 1>&2 diff --git a/src/hw/ahci.c b/src/hw/ahci.c index 4f0f640..7e7a03d 100644 --- a/src/hw/ahci.c +++ b/src/hw/ahci.c @@ -637,7 +637,7 @@ static void ahci_controller_setup(struct pci_device *pci) { struct ahci_port_s *port; - u32 val, pnr, max; + u32 pnr, max; if (create_bounce_buf() < 0) return; @@ -660,8 +660,23 @@ ahci_controller_setup(struct pci_device *pci) pci_enable_busmaster(pci); - val = ahci_ctrl_readl(ctrl, HOST_CTL); + u32 val = ahci_ctrl_readl(ctrl, HOST_CTL); + ahci_ctrl_writel(ctrl, HOST_CTL, val | HOST_CTL_RESET); + u32 end = timer_calc(AHCI_RESET_TIMEOUT); + for (;;) { + val = ahci_ctrl_readl(ctrl, HOST_CTL); + if (!(val & HOST_CTL_RESET)) + break; + if (timer_check(end)) { + warn_timeout(); + dprintf(1, "AHCI: controller reset failed\n"); + free(ctrl); + return; + } + yield(); + } ahci_ctrl_writel(ctrl, HOST_CTL, val | HOST_CTL_AHCI_EN); + (void)ahci_ctrl_readl(ctrl, HOST_CTL); /* Flush */ ctrl->caps = ahci_ctrl_readl(ctrl, HOST_CAP); ctrl->ports = ahci_ctrl_readl(ctrl, HOST_PORTS_IMPL); diff --git a/src/sercon.c b/src/sercon.c index 3019d9b..cdc47ab 100644 --- a/src/sercon.c +++ b/src/sercon.c @@ -567,8 +567,8 @@ static VAR16 struct { { .seq = "[19~", .len = 4, .keycode = 0x4200 }, // F8 { .seq = "[20~", .len = 4, .keycode = 0x4300 }, // F9 { .seq = "[21~", .len = 4, .keycode = 0x4400 }, // F10 - { .seq = "[23~", .len = 4, .keycode = 0x5700 }, // F11 - { .seq = "[24~", .len = 4, .keycode = 0x5800 }, // F12 + { .seq = "[23~", .len = 4, .keycode = 0x8500 }, // F11 + { .seq = "[24~", .len = 4, .keycode = 0x8600 }, // F12 { .seq = "[2~", .len = 3, .keycode = 0x52e0 }, // insert { .seq = "[3~", .len = 3, .keycode = 0x53e0 }, // delete |