--- /usr/src/sys/boot/i386/loader/main.c 2010-02-10 12:36:49.796728917 +0300 +++ /usr/src/sys/boot/i386/loader/main.c 2010-02-10 12:36:49.796728917 +0300 @@ -185,6 +185,11 @@ setenv("LINES", "24", 1); /* optional */ bios_getsmap(); + + if (bi_checkcpu()) + setenv("hw.machine","amd64",1); + else + setenv("hw.machine","i386",1); interact(); /* doesn't return */ --- /usr/src/sys/boot/i386/libi386/bootinfo64.c 2010-02-10 12:19:17.000000000 +0300 +++ /usr/src/sys/boot/i386/libi386/bootinfo64.c 2010-02-10 12:19:17.000000000 +0300 @@ -129,7 +129,7 @@ /* * Check to see if this CPU supports long mode. */ -static int +int bi_checkcpu(void) { char *cpu_vendor;