mplayer, amd64, and CPU flags [patch]

Axel Gonzalez loox at e-shell.net
Sat May 21 10:37:02 PDT 2005


Maybe this is a little unnecesary since its amd64 and should support all extra 
flags (at the end its a patch to the makefile), and the only file broken is 
to get the configure arguments, cpu detection inside the mplayer binary works 
perfectly

on TOOLS/cpuinfo.c:

static cpuid_regs_t
cpuid(int func) {
        cpuid_regs_t regs;
#define CPUID   ".byte 0x0f, 0xa2; "
        asm("push %%ebx; "
            "movl %4,%%eax; " CPUID
            "movl %%eax,%0; movl %%ebx,%1; movl %%ecx,%2; movl %%edx,%3; "
            "pop %%ebx"
                : "=m" (regs.eax), "=m" (regs.ebx), "=m" (regs.ecx), 
"=m" (regs.edx)
                : "g" (func)
                : "%eax", "%ecx", "%edx");

printf(""); // **** NOTE this *extra* printf()
        return regs;
}


with the printf:

# TOOLS/cpuinfo
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 12
stepping        : 0
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 cflsh mmx fxsr sse sse2 mmxext 3dnowext 3dnow k6_mtrr
cpu MHz         : 2000.021
model name      : AMD Athlon(tm) 64 Processor 3000+

w/o the printf()

# TOOLS/cpuinfo
vendor_id       : 
model name      : Unknown CPU


why this works, i have no idea. Maybe its something to do with the registers, 
etc.

I won't try to debug it further since we already know the flags of the CPU 
(and the printf seems to fix the problem anyways)


this is a commitable patch to the makefile:

--- Makefile.orig	Sat May 21 10:58:38 2005
+++ Makefile	Sat May 21 11:01:44 2005
@@ -353,6 +353,15 @@
 PLIST_SUB+=	VIDIX="@comment "
 .endif
 
+.if ${ARCH} == "amd64"
+CONFIGURE_ARGS+=	--enable-mmx \
+			--enable-mmx2 \
+			--enable-3dnow \
+			--enable-3dnowex \
+			--enable-sse \
+			--enable-sse2
+.endif
+
 #.if exists(${LOCALBASE}/modules/rtc.ko)
 #WITH_RTC=	yes
 #.endif


On Saturday 21 May 2005 03:56, Michael Reifenberger wrote:
> Hi,
> I modified CONFIGURE_ARGS in Makefile to:
> ...
>                 --enable-mmx \
>                  --enable-mmx2 \
>                  --enable-3dnow \
>                  --enable-3dnowex \
>                  --enable-sse \
>                  --enable-sse2 \
> ...
>
> Bye/2
> ---
> Michael Reifenberger, Business Development Manager SAP-Basis, Plaut
> Consulting Comp: Michael.Reifenberger at plaut.de | Priv:
> Michael at Reifenberger.com http://www.plaut.de           |      
> http://www.Reifenberger.com
>
> _______________________________________________
> freebsd-amd64 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-amd64
> To unsubscribe, send any mail to "freebsd-amd64-unsubscribe at freebsd.org"


More information about the freebsd-amd64 mailing list