aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/Releases.md11
-rw-r--r--scripts/kconfig/lxdialog/check-lxdialog.sh2
-rw-r--r--src/hw/ahci.c19
-rw-r--r--src/sercon.c4
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