|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] acpi: reboot: log reset parameters
commit d92587f0081b7e375715996aa78ebf0e35c71d71
Author: Denis Mukhin <dmukhin@xxxxxxxx>
AuthorDate: Wed Aug 12 10:47:40 2026 +0200
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Aug 12 10:47:40 2026 +0200
acpi: reboot: log reset parameters
Xen does not provide much details for system reset debugging in case
system reset happens via ACPI subsystem.
Log reset I/O address and reset value.
While here, add the missing default case, add breaks between case
statements and drop full stops in the loglines.
Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
xen/drivers/acpi/reboot.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/xen/drivers/acpi/reboot.c b/xen/drivers/acpi/reboot.c
index f6345be874..78456bca30 100644
--- a/xen/drivers/acpi/reboot.c
+++ b/xen/drivers/acpi/reboot.c
@@ -6,6 +6,7 @@ void acpi_reboot(void)
{
struct acpi_generic_address *rr;
u8 reset_value;
+ pci_sbdf_t sbdf;
rr = &acpi_gbl_FADT.reset_register;
@@ -21,17 +22,27 @@ void acpi_reboot(void)
* on a device on bus 0. */
switch (rr->space_id) {
case ACPI_ADR_SPACE_PCI_CONFIG:
- printk("Resetting with ACPI PCI RESET_REG.\n");
+ sbdf = PCI_SBDF(0, 0, rr->address >> 32, rr->address >> 16);
+ printk("Resetting with ACPI PCI %pp RESET_REG at %#"PRIx64"
(%#x)\n",
+ &sbdf, rr->address & 0xff, reset_value);
/* Write the value that resets us. */
- pci_conf_write8(PCI_SBDF(0, 0, rr->address >> 32,
- rr->address >> 16),
- (rr->address & 255),
- reset_value);
+ pci_conf_write8(sbdf, rr->address & 0xff, reset_value);
break;
+
case ACPI_ADR_SPACE_SYSTEM_MEMORY:
+ printk("Resetting with ACPI MEMORY at %#"PRIx64" (%#x)\n",
+ rr->address, reset_value);
+ acpi_hw_low_level_write(8, reset_value, rr);
+ break;
+
case ACPI_ADR_SPACE_SYSTEM_IO:
- printk("Resetting with ACPI MEMORY or I/O RESET_REG.\n");
+ printk("Resetting with I/O RESET_REG at %#"PRIx64" (%#x)\n",
+ rr->address, reset_value);
acpi_hw_low_level_write(8, reset_value, rr);
break;
+
+ default:
+ /* Fallback to alternative reboot methods */
+ break;
}
}
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |