From f2f79e8c3fd78874b7ac71ce17f19bb9f33d3061 Mon Sep 17 00:00:00 2001 From: scottl Date: Sat, 31 May 2003 11:28:28 +0000 Subject: Teach sysinstall to recognize if acpi was turned off from the bootloader, and then ask the user if this should be made permanent. Approved by: re --- usr.sbin/sade/config.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'usr.sbin/sade/config.c') diff --git a/usr.sbin/sade/config.c b/usr.sbin/sade/config.c index a1b5044..29e7cfe 100644 --- a/usr.sbin/sade/config.c +++ b/usr.sbin/sade/config.c @@ -45,6 +45,7 @@ #include #include #include +#include static Chunk *chunk_list[MAX_CHUNKS]; static int nchunks; @@ -1053,3 +1054,40 @@ configEtcTtys(dialogMenuItem *self) restorescr(w); return DITEM_SUCCESS; } + +#ifdef __i386__ +int +checkLoaderACPI(void) +{ + char val[4]; + + if (kenv(KENV_GET, "loader.acpi_disabled_by_user", &val[0], 4) <= 0) { + return (0); + } + + if (strtol(&val[0], NULL, 10) <= 0) { + return (0); + } + + return (1); +} + +int +configLoaderACPI(int disable) +{ + FILE *ldconf; + + ldconf = fopen("/boot/loader.conf", "a"); + if (ldconf == NULL) { + msgConfirm("Unable to open /boot/loader.conf. Please consult the\n" + "FreeBSD Handbook for instructions on disabling ACPI"); + return DITEM_FAILURE; + } + + fprintf(ldconf, "# --- Generated by sysinstall ---\n"); + fprintf(ldconf, "hint.acpi.0.disabled=%d\n", disable); + fclose(ldconf); + + return DITEM_SUCCESS; +} +#endif -- cgit v1.1