Miod Vallat writes: > > I've a config file that works, but I'm still tweaking it. When I'm > > finished I'll post it. The biggest issue is that option SMALL_KERNEL > > cant be used with the ACPI devices so, to make space, you have to > > remove many of the unused devices. I wound up removing just about > > everything that wasn't mentioned in the mini dmesg. > > Do you mean the acpi code depends on functionality SMALL_KERNEL removes? > If so, which one?
Yep. Let see. Don't remember. Ok, I'll just re-build with SMALL_KERNEL and see what it was.... There are two ACPI ramdisk issues 1) acpi code references sensor_add and sensor_task_unregister which is in kern_sensors.c. kern_sensors.c is !small_kernel 2) /sys/dev/acpi/dsdt.c defines DST which interferes with option DST in the config file. I changed DST -> DST1 in /sys/dev/acpi/dsdt.c That same file also references tsleep but does not include <sys/proc.h> for the function prototype. Patch with both changes follows. Index: dsdt.c =================================================================== RCS file: /u8/cvso/src/sys/dev/acpi/dsdt.c,v retrieving revision 1.67 diff -u -p -r1.67 dsdt.c --- dsdt.c 29 Nov 2006 22:17:07 -0000 1.67 +++ dsdt.c 2 Dec 2006 20:47:34 -0000 @@ -19,6 +19,7 @@ #include <sys/systm.h> #include <sys/device.h> #include <sys/malloc.h> +#include <sys/proc.h> #include <machine/bus.h> @@ -802,7 +803,7 @@ int aml_parsenode(struct aml_scope *,str #define LHS 0 #define RHS 1 -#define DST 2 +#define DST1 2 #define DST2 3 /* Allocate temporary storage in this scope */ @@ -2897,20 +2898,20 @@ aml_parsestring(struct aml_scope *scope, tmpval = aml_alloctmp(scope, 4); aml_parseterm(scope, &tmpval[LHS]); aml_parseterm(scope, &tmpval[RHS]); - aml_parsetarget(scope, &tmpval[DST], NULL); + aml_parsetarget(scope, &tmpval[DST1], NULL); if (tmpval[LHS].type == AML_OBJTYPE_BUFFER && tmpval[RHS].type == AML_OBJTYPE_BUFFER) { aml_resize(&tmpval[LHS], tmpval[LHS].length+tmpval[RHS].length); memcpy(&tmpval[LHS].v_buffer+tmpval[LHS].length, tmpval[RHS].v_buffer, tmpval[RHS].length); - aml_setvalue(scope, &tmpval[DST], &tmpval[LHS], 0); + aml_setvalue(scope, &tmpval[DST1], &tmpval[LHS], 0); } if (tmpval[LHS].type == AML_OBJTYPE_STRING && tmpval[RHS].type == AML_OBJTYPE_STRING) { aml_resize(&tmpval[LHS], tmpval[LHS].length+tmpval[RHS].length); memcpy(&tmpval[LHS].v_string+tmpval[LHS].length, tmpval[RHS].v_buffer, tmpval[RHS].length); - aml_setvalue(scope, &tmpval[DST], &tmpval[LHS], 0); + aml_setvalue(scope, &tmpval[DST1], &tmpval[LHS], 0); } else { aml_die("concat");