File:  [NetBSD Developer Wiki] / wikisrc / ports / ia64.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Wed Dec 19 03:50:46 2012 UTC (15 months, 4 weeks ago) by mspo
Branches: MAIN
CVS tags: HEAD
commit more port pages for today.  will pick back up tomorrow

[[!template id=port
NetBSD/ia64 is a work-in-progress effort to port NetBSD to the Itanium family of
processors. Currently no formal release is available.

[Tracking -current]( is the best
way to get involved with the project. It is possible to get fully involved with
the project if you have i386 hardware.

Basic infrastructure you need to get involved at this stage is NetBSD/i386,
and HP's ski simulator.

If you would like to contribute to the porting effort, read this web-page
carefully, and then feel free to ask us questions on the port-ia64 mailing list. 
General problems and questions
How do I get started? (top)

Development for NetBSD/ia64 is on HP's "SKI" emulator:

1. Install the ski emulator: pkgsrc/emulators/ski. See the DESCR file for details about installing and running ski.
2. Build the ia64 toolchain:

    <pre> -mia64 tools</pre>

  * Build the bootloader:

    cd arch/ia64/stand/ia64/ski

  * The bootloader binary is arch/ia64/stand/ia64/skiload
  * Build the kernel:

    <pre> -mia64 kernel=GENERIC.SKI</pre>

    > The kernel binary is arch/ia64/compile/GENERIC.SKI/netbsd

3. With both bootloader and kernel binaries (or softlinks to them) in the current directory, type:

    <pre>ski skiload</pre>
    > This will launch the ski debugger prompt.
    > Type 'c' to continue. This will launch the bootloader in a pseudo terminal window. Type 'boot netbsd' to boot the kernel. Have fun!

####What needs to be done to make the port functional? (top)

Must have tasks:

1. pmap module: Clean ups and debug.
2. Boot Code Cleanup: clean up glue code between FreeBSD's boot code and
   NetBSD's standalone library.
3. IA64 Stack unwind code: Support remaining unwind descriptor types. (See

Nice to have tasks:

1. Kernel module pre-loading via the bootloader.
2. Write a ski network driver.
3. Enable SMP support.

####How can I help? (top)

Pick a task you like, send mail to to avoid duplication of
work, and start hacking!

####What are the goals of this port (top)

Currently our focus is to make NetBSD/ia64 to run reasonably well on the ski
emulator. In order to enable NetBSD to run on a real Itanium machine, further
code needs to be written. Some important tasks are:

1. The uga console driver.
2. The bus_dma framework.
3. device drivers.

[[!tag tier2port]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb