FYI: Porting Drivers to the AMD64

Just a quick update: During the DDC, I mentioned to a number of folks that
we’d start a new list to handle AMD64 porting questions.

On reflection, it seemed to us like a much better idea to continue to handle
such questions through this list (NTDEV).

I just wanted to emphasize that we have a number of members on the list who
are both knowlegeable and experienced in doing the (really, rather simple)
port to the 64-bit mode on the AMD64. Please post any questions about
converting drivers or file systems to the AMD64 here… We’ll be happy to
answer them.

Peter
OSR

Being ignorant, what are the differences between porting to the AMD64 and
porting to the Intel 64 or porting to any 64bit processor? You have to worry
about interchanging pointers and ULONGs and worry about structure/data
alignment. Anything else?

“Peter Viscarola” wrote in message news:xxxxx@ntdev…
>
> Just a quick update: During the DDC, I mentioned to a number of folks that
> we’d start a new list to handle AMD64 porting questions.
>
> On reflection, it seemed to us like a much better idea to continue to
handle
> such questions through this list (NTDEV).
>
> I just wanted to emphasize that we have a number of members on the list
who
> are both knowlegeable and experienced in doing the (really, rather simple)
> port to the 64-bit mode on the AMD64. Please post any questions about
> converting drivers or file systems to the AMD64 here… We’ll be happy to
> answer them.
>
> Peter
> OSR
>
>
>
>

> Being ignorant, what are the differences between porting to

the AMD64 and
porting to the Intel 64 or porting to any 64bit processor?
You have to worry
about interchanging pointers and ULONGs and worry about structure/data
alignment. Anything else?

That’s a pretty good summary.

One other things that catch you on AMD64 is the fact that the MS C/C++
doesn’t support inline assembler, which obviously would be a problem for
IA64 or SomeOtherBrand64 too, but for a different reason.

I think the main reason why Peter wanted (originally) to set up a mailing
list targeted at AMD64 on it’s own, is that it’s the most likely candidate
so far to hit a mass market, meaning that a lot more developers will have to
deal with it than for IA64 for instance.

I beleive the forecast for AMD64 sales in Q4/03 is something like 300k,
rising to about one million Q1/04. I beleive that once MS comes out with the
release version of the OS (WinXP for AMD64 that is), a lot of driver
developers will have requests for drivers to be developed for this
architecture. Not all from someone with a valid reason to run a 64-bit OS,
but I think a lot of companies will see customers trying to get drivers for
things that don’t have any drivers yet, if they are available from MS at the
moment.

All of the above is of course just speculation (aside from the comment on
inline assembler, which is definitely a concern for certain drive developers
that have a lot of inline assembler). I used to work at AMD, but hasn’t done
so for near on a year now.


Mats

From my experience, porting to AMD64 is a little bit easier than to Itanium.

  1. Data misalignment on AMD64 won’t bugcheck, but certainly does by default
    on Itanium.
  2. In some cases, compiler in 3790 DDK doesn’t generate right code to fixup
    a known misaligned accesses at compile time if the code is compiled as C++
    (fine with C though).
  3. Some older WinDbg or OS are not working well with Itanium. Such as not
    being able to single step the source code due to strange exceptions like
    “instruction Xxx consumes a NOT A THING bit”. This seems fixed in latter OS
    build/WinDbg.
  4. AMD64 assembly code is much easier to read than Itanium, good for
    debugging.

My impression is if Itanium driver works, then its AMD64 version would
probably work, but not the other way.

Calvin Guan, Software Engineer xxxxx@nospam.ati.com
ATI Technologies Inc. Markham ON. Canada
Tel: (905) 882-2600 Ext. 8654

-----Original Message-----
From: Doug [mailto:xxxxx@hotmail.com]
Sent: Friday, December 19, 2003 8:27 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Re: Porting Drivers to the AMD64

Being ignorant, what are the differences between porting to
the AMD64 and
porting to the Intel 64 or porting to any 64bit processor?
You have to worry
about interchanging pointers and ULONGs and worry about structure/data
alignment. Anything else?

“Peter Viscarola” wrote in message
news:xxxxx@ntdev…
>
> Just a quick update: During the DDC, I mentioned to a number of folks that
> we’d start a new list to handle AMD64 porting questions.
>
> On reflection, it seemed to us like a much better idea to continue to
handle
> such questions through this list (NTDEV).
>
> I just wanted to emphasize that we have a number of members on the list
who
> are both knowlegeable and experienced in doing the (really, rather simple)
> port to the 64-bit mode on the AMD64. Please post any questions about
> converting drivers or file systems to the AMD64 here… We’ll be happy to
> answer them.
>
> Peter
> OSR
>
>
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@ati.com
To unsubscribe send a blank email to xxxxx@lists.osr.com