Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Oct 2005 23:39:33 +0200
From:      Mathieu Prevot <mathieu_prevot@yahoo.fr>
To:        Nate Lawson <nate@root.org>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: ACPI errors on amd64 (sempron)
Message-ID:  <55E0CA58-AC1E-48E4-A4D0-DDC5829D3690@yahoo.fr>
In-Reply-To: <435928CA.1010305@root.org>
References:  <971FCB6690CD0E4898387DBF7552B90E0323D7B6@orsmsx403.amr.corp.intel.com>	<7B5FE857-16A8-4369-B577-3F3190B56840@yahoo.fr> <200510210954.58860.jhb@freebsd.org> <435928CA.1010305@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help

Le 21 oct. 05 =E0 19:43, Nate Lawson a =E9crit :

> 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 =20
>> shut up the warnings:
>> Index: actypes.h
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> 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 =20
>> hardware alignment support in IA64 */
>> +#ifdef __amd64__
>> +#define ACPI_MISALIGNED_TRANSFERS
>> +#endif
>>  #define ACPI_USE_NATIVE_DIVIDE                          /* Native =20=

>> 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 =20
>> the only 64-bit platform it runs on is IA-64, but it also runs on =20
>> amd64 and amd64 allows for unaligned accesses just like i386.
>> I'm not sure if ALIGNED_ADDRESS_BOUNDARY should be 0x4 for amd64 =20
>> either, probably not though.
>>
>
> If that works, can you commit it to something off the vendor =20
> branch? (Perhaps acfreebsd.h or something?)
>
> --=20
> Nate

I simply added

#define ACPI_MISALIGNED_TRANSFERS

in /usr/src/sys/amd64/include/acpica_machdep.h so the intel actypes.h =20=

is preserved.
Maybe it is simpler than touching the Robert's / Intel's code. Is it =20
right ?
If so, someone have to commit it on the CVS sources. Can you do it =20
before the release ?

--MP






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55E0CA58-AC1E-48E4-A4D0-DDC5829D3690>