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");

Reply via email to