[ptmdm] - PCTel HSP MicroModem driver for FreeBSD

Oleksandr Tatmanyants tat at umc.ua
Mon Feb 20 08:21:20 PST 2006


Here you are.
Not too much, just one line added and one more hacked ;)
And Makefile changed a bit.

cd .../sys/modules/ptmdm
make
(snip)
nm i8xxhal.o | grep -w U
         U __const_udelay_Reae3dfd6
         U __udelay_R9e7d6bd0
         U codecID
         U kfree_R037a0cba
         U kmalloc_R93d4cfe6
         U printk_R1b7d4074
         U schedule_timeout_R17d59d01

codecID is defined in amr/dsp.a
__udelay... could be directly mapped to DELAY(9)
kmalloc... and kfree... could be implemented using malloc(9) and free(9)
printk... could be implemented using printf(9)
But I have no idea how to deal with __const_udelay... and 
schedule_timeout...

Watanabe Kazuhiro wrote:
> Be careful that you don't crash your file system...
>   
> At Fri, 17 Feb 2006 17:32:23 +0200,
> Oleksandr Tatmanyants wrote:
>   
>> amrmdm0: <82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller> 
>> port 0xba00-0xbaff,0xb980-0xb9ff irq 11 at device 31.6 on pci0
>> amrmdm0: [GIANT-LOCKED]
>> amrmdm0: type Virtual 16550A
>>
>> But after that machine is completely locked and I need to power cycle it ;(
>> I suppose that the problem is in the HAL. There was unresolved symbols 
>> in the i8xxhal.o:
>>
>> __udelay_R9e7d6bd0
>> kmalloc_R93d4cfe6
>> printk_R1b7d4074
>> kfree_R037a0cba
>> schedule_timeout_R17d59d01
>> __const_udelay_Reae3dfd6
>>
>> unfortunately I've failed to find anything useful about them on the net.
>>     
>
> Hmm... will you show me the diff? (e.g. diff -ur ptmdm-0.3.4{.orig,})
> ---
> Watanabe Kazuhiro (CQG00620 at nifty.ne.jp)
> _______________________________________________
> freebsd-mobile at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
> To unsubscribe, send any mail to "freebsd-mobile-unsubscribe at freebsd.org"
>   


-- 
Best regards,
Oleksandr Tatmanyants

-------------- next part --------------
diff -urBb ptmdm-0.3.4.orig/sys/dev/ptmdm/ptmdmsio.c ptmdm-0.3.4/sys/dev/ptmdm/ptmdmsio.c
--- ptmdm-0.3.4.orig/sys/dev/ptmdm/ptmdmsio.c	Thu Feb  9 07:10:05 2006
+++ ptmdm-0.3.4/sys/dev/ptmdm/ptmdmsio.c	Mon Feb 20 17:42:42 2006
@@ -721,6 +721,7 @@
 
 static struct pci_ids pci_ids[] = {
     { 0x134d, 0x7890, 0x7897, "PCTel PCT789T" },
+    { 0x8086, 0x24c6, 0x24c6, "Intel 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller" },
     { 0x0000, 0x0000, 0x0000, NULL }
 };
 
@@ -1403,7 +1404,7 @@
 #if 1
         PctelInitVUartVars();
         PctelInitCtrlVars(ptmdm_country_code);
-        HAL_Init(rman_get_start(com->iores[0]), 0);
+        HAL_Init(rman_get_start(com->iores[0]), rman_get_start(com->iores[1]));
 #endif
 
         /*
diff -urBb ptmdm-0.3.4.orig/sys/modules/ptmdm/Makefile ptmdm-0.3.4/sys/modules/ptmdm/Makefile
--- ptmdm-0.3.4.orig/sys/modules/ptmdm/Makefile	Wed Feb  9 06:01:26 2005
+++ ptmdm-0.3.4/sys/modules/ptmdm/Makefile	Mon Feb 20 17:48:58 2006
@@ -6,20 +6,21 @@
 
 .PATH:	${.CURDIR}/../../dev/ptmdm
 SRCS	= ptmdmsio.c bus_if.h pci_if.h device_if.h
-SRCS	+= vuart.s
-OBJS	+= control.a dsp.a pcthal.a
+SRCS	+= vuart.s i8xxhal.s
+OBJS	+= control.a dsp.a
 KMOD	= ptmdm
 CFLAGS  += -DCDEV_MAJOR=${PTMDM_DEV_MAJOR}
 CFLAGS  += -DCOUNTRY_CODE=${PTMDM_COUNTRY_CODE}
+CLEANFILES += vuart.s i8xxhal.s
 
 control.a:
 	ln -sf ${.CURDIR}/../../../../pctel-${PTMDM_OBJ_VERSION}/src/lib/${.TARGET} .
 
 dsp.a:
-	ln -sf ${.CURDIR}/../../../../pctel-${PTMDM_OBJ_VERSION}/src/lib/pct789/${.TARGET} .
+	ln -sf ${.CURDIR}/../../../../pctel-${PTMDM_OBJ_VERSION}/src/lib/amr/${.TARGET} .
 
-pcthal.a:
-	ln -sf ${.CURDIR}/../../../../pctel-${PTMDM_OBJ_VERSION}/src/lib/pct789/${.TARGET} .
+i8xxhal.s:
+	ln -sf ${.CURDIR}/../../../../pctel-${PTMDM_OBJ_VERSION}/src/${.TARGET} .
 
 vuart.s:
 	ln -sf ${.CURDIR}/../../../../pctel-${PTMDM_OBJ_VERSION}/src/${.TARGET} .


More information about the freebsd-mobile mailing list