Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Oct 2005 10:43:38 -0700
From:      Nate Lawson <nate@root.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-acpi@freebsd.org, "Moore, Robert" <robert.moore@intel.com>, Mathieu Prevot <mathieu_prevot@yahoo.fr>
Subject:   Re: ACPI errors on amd64 (sempron)
Message-ID:  <435928CA.1010305@root.org>
In-Reply-To: <200510210954.58860.jhb@freebsd.org>
References:  <971FCB6690CD0E4898387DBF7552B90E0323D7B6@orsmsx403.amr.corp.intel.com>	<7B5FE857-16A8-4369-B577-3F3190B56840@yahoo.fr> <200510210954.58860.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> On Friday 21 October 2005 02:38 am, Mathieu Prevot wrote:
> 
>>>I think that the generation of the OS for Amd64 needs to set this
>>>define:
>>>
>>>#define ACPI_MISALIGNED_TRANSFERS
>>>
>>>I will look into doing this automatically in the actypes.h header
>>
>>To confirm, the same output on the same system but with
>>6.0RC1i386GENERIC:
> 
> 
> I think Robert's point is a patch like the following hack would shut up the 
> warnings:
> 
> Index: actypes.h
> ===================================================================
> RCS file: /usr/cvs/src/sys/contrib/dev/acpica/actypes.h,v
> retrieving revision 1.1.1.29
> diff -u -r1.1.1.29 actypes.h
> --- actypes.h   1 Dec 2004 23:13:39 -0000       1.1.1.29
> +++ actypes.h   21 Oct 2005 13:52:22 -0000
> @@ -194,6 +194,9 @@
>  typedef UINT64                          ACPI_SIZE;
> 
>  #define ALIGNED_ADDRESS_BOUNDARY        0x00000008      /* No hardware 
> alignment support in IA64 */
> +#ifdef __amd64__
> +#define ACPI_MISALIGNED_TRANSFERS
> +#endif
>  #define ACPI_USE_NATIVE_DIVIDE                          /* Native 64-bit 
> integer support */
>  #define ACPI_MAX_PTR                    ACPI_UINT64_MAX
>  #define ACPI_SIZE_MAX                   ACPI_UINT64_MAX
> 
> The problem is that currently the actypes.h header assumes that the only 
> 64-bit platform it runs on is IA-64, but it also runs on amd64 and amd64 
> allows for unaligned accesses just like i386.
> 
> I'm not sure if ALIGNED_ADDRESS_BOUNDARY should be 0x4 for amd64 either, 
> probably not though.
> 

If that works, can you commit it to something off the vendor branch? 
(Perhaps acfreebsd.h or something?)

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?435928CA.1010305>