Intel D2500CC serial ports

Robert Ames robertames at hotmail.com
Sun Jul 14 16:58:55 UTC 2013


> From: jhb at freebsd.org
> To: freebsd-hackers at freebsd.org
> Subject: Re: Intel D2500CC serial ports
> Date: Thu, 11 Jul 2013 10:14:42 -0400
> CC: robertames at hotmail.com
> 
> On Sunday, June 30, 2013 1:24:27 pm Robert Ames wrote:
>> I just picked up an Intel D2500CCE motherboard and was disappointed
>> to find the serial ports didn't work.  There has been discussion
>> about this problem here:
>> 
>> http://lists.freebsd.org/pipermail/freebsd-current/2013-April/040897.html
>> http://lists.freebsd.org/pipermail/freebsd-current/2013-May/042088.html
>> 
>> As seen in the second link, Juergen Weiss was able to work around
>> the problem.  This patch (for 8.4-RELEASE amd64) makes all 4 serial
>> ports functional.
>> 
>> --- /usr/src/sys/amd64/amd64/io_apic.c.orig 2013-06-02 13:23:05.000000000 -0500
>> +++ /usr/src/sys/amd64/amd64/io_apic.c      2013-06-28 18:52:03.000000000 -0500
>> @@ -452,6 +452,10 @@
>>         KASSERT(!(trig == INTR_TRIGGER_CONFORM || pol == INTR_POLARITY_CONFORM),
>>             ("%s: Conforming trigger or polarity\n", __func__));
>>  
>> +       if (trig == INTR_TRIGGER_EDGE && pol == INTR_POLARITY_LOW) {
>> +               pol = INTR_POLARITY_HIGH;
>> +       }
>> +
> 
> Hmm, so this is your BIOS doing the wrong thing in its ASL.
> 
> Maybe try this:
> 
> --- //depot/user/jhb/acpipci/dev/acpica/acpi_resource.c	2011-07-22 17:59:31.000000000 0000
> +++ /home/jhb/work/p4/acpipci/dev/acpica/acpi_resource.c	2011-07-22 17:59:31.000000000 0000
> @@ -141,6 +141,10 @@
>      default:
>  	panic("%s: bad resource type %u", __func__, res->Type);
>      }
> +#if defined(__amd64__) || defined(__i386__)
> +    if (irq < 16 && trig == ACPI_EDGE_SENSITIVE && pol == ACPI_ACTIVE_LOW)
> +	    pol = ACPI_ACTIVE_HIGH;
> +#endif
>      BUS_CONFIG_INTR(dev, irq, (trig == ACPI_EDGE_SENSITIVE) ?
>  	INTR_TRIGGER_EDGE : INTR_TRIGGER_LEVEL, (pol == ACPI_ACTIVE_HIGH) ?
>  	INTR_POLARITY_HIGH : INTR_POLARITY_LOW);
> 
> -- 
> John Baldwin

Yes, this patch works too.  All 4 serial ports are functional.  Is
this something that could be committed so that the serial ports on
this board work out of the box on future releases?

And for what it's worth, I seem to be running the latest BIOS
identified as: CCCDT10N.86A.0039.2013.0425.1625 		 	   		  


More information about the freebsd-hackers mailing list