LinuxIA64 Software Development - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

LinuxIA64 Software Development

Description:

Expected to stabilize after 2.4 released. Standard C library: glibc-2.1.3 ... Port to glibc 2.2 in progress. Fall 2000. Compilers. Cygnus IA-64 toolchain ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 23
Provided by: gelatoU
Category:

less

Transcript and Presenter's Notes

Title: LinuxIA64 Software Development


1
Linux/IA-64Software Development
Uros Prestor TurboLinux Inc. August 22-24, 2000
2
Agenda
  • Development Environment
  • Porting Issues
  • Resources

3
Linux/IA-64 Basics
  • Kernel 2.4.x series IA-64 patch
  • Not yet a production code 2.4.0-test4
  • Bleeding edge kernels
  • Expected to stabilize after 2.4 released
  • Standard C library glibc-2.1.3
  • Relatively stable (compared to kernel)
  • Port to glibc 2.2 in progress

4
Compilers
  • Cygnus IA-64 toolchain
  • gcc/g front ends, assembler, linker
  • Performs only basic optimizations
  • The only native compiler for Linux/IA-64
  • SGI Pro64 compiler suite
  • C, C and Fortran 90 front ends
  • Compatible with gcc, more optimizations
  • Open source, cross-compiler only
  • Intel Linux/IA-64 compiler planned

5
Development Tools
  • Editors vi, emacs
  • Debuggers gdb, xxgdb, strace
  • Source control RCS, CVS, cscope
  • Interpreters Perl, Python, Tcl/Tk
  • Development tools for EFI applications
  • Multimedia players, rippers, burners
  • In short all youd expect from Linux!

6
The Desktop
  • XFree86 4.0 X server
  • Upgrade from version 3.3.6
  • Modular, support for many video cards
  • Open- and closed-source drivers possible
  • GNOME desktop by Helix Code
  • Netscape and Acrobat Reader
  • Gimp image manipulation and paint

7
Networking Support
  • Full TCP/IP network stack
  • Remote access
  • rlogin, telnet, ftp enabled by default
  • OpenSSL/OpenSSH for secure access
  • Fully functional NFS client/server
  • Internet services
  • DNS, FTP, NTP, IMAP
  • Other NetWare, AppleTalk,

8
Applications
  • Mail server sendmail
  • Web server Apache
  • File server NFS, Samba
  • Productivity apps
  • StarOffice
  • Text processing and typesetting
  • TeX, LaTex the standard in academic publishing

9
Current Limitaions
  • Kernel Limitations
  • Module support in progress
  • Occasional stability problems
  • Physical memory above 1G ignored
  • Limited set of video cards tested
  • Lots of room for optimizations

10
Product Availability
  • TurboLinux developer releases
  • First Linux distribution in mid-March
  • Track Linux/IA-64 development progress
  • Updates released every 4-8 weeks
  • Download ftp.turbolinux.com/pub/ia64
  • Email support ia64-dist_at_turbolinux.com
  • Production release for Itanium Launch

11
Porting Issues
  • Data model changes
  • Examples of correct usage
  • Porting kernel device drivers
  • Porting software applications

12
LP64 Data Model
  • Pointers and longs are 64 bit quantities!
  • Stucture field offsets may change
  • Longs and pointers increase in size
  • Natural alignment for 64-bit types
  • Use ANSI C standard ltinttypes.hgt
  • Explicit size int8_t, int16_t, int32_t, int64_t
  • Pointer-sized integral type intptr_t

13
Examples
  • Incorrect cast
  • int p, q
  • p (int) ((int) q 4)
  • Unaligned access
  • int p
  • long l ((long) (p 1))
  • Variable offsets
  • struct regs
  • short reg_1 / 0 /
  • short pad / 2 /
  • long reg_2 / 4 or 8 /
  • Correct cast
  • p (int) ((char8_t) q 4)
  • p (int) ((intptr_t) q 4)
  • Aligned access
  • long l
  • memcpy(l, p1, sizeof(l))
  • Fixed offsets
  • struct regs
  • int16_t reg_1 / 0 /
  • int16_t pad / 2 /
  • int32_t reg_2 / 4 /

14
Missing Prototypes
  • The most frequent source of errors
  • Missing standard include files
  • include ltstdlib.hgt
  • int p (int) malloc(sizeof(int))
  • p
  • Missing user prototypes
  • struct foo new_foo(void)
  • struct foo q new_foo()
  • update_foo(q)
  • Without prototypes the values will be truncated
    to 32 bits
  • Illegal pointer value will result in a core dump
  • You can spot a problem immediately

15
Porting Device Drivers
  • No Linux driver at all?
  • Use an IA-32 system for development
  • Open source driver? Respect the GPL
  • Linux driver for 2.2 kernels?
  • Port to 2.4 on an IA-32 system
  • Linux driver for 2.4 kernels?
  • Make driver 64-bit clean
  • Watch out for unaligned references

16
Porting Applications
  • Linux applications easy to port
  • 400 packages ported to IA-64
  • Most packages required a recompile
  • Problems mostly related to prototypes
  • Toolchain issues large binaries support
  • Use IA-32 emulation support
  • First port to Linux?
  • Use an IA-32 system, then recompile

17
Linux/IA-64 Resources
  • Web sites
  • http//www.linuxia64.org
  • http//www.turbolinux.com/ia64.html
  • Mailing lists
  • linux-ia64_at_linuxia64.org
  • ia64-dist_at_turbolinux.com
  • Ftp sites
  • ftp//ftp.turbolinux.com/pub/ia64

18
TurboLinux IHV Program
  • Driver development, platform support
  • Direct access to TL Developer Support and
    Professional Services resources
  • Portfolio of services included
  • Hardware verification, verified on OEM hw
  • Bits included in TurboLinux distribution
  • Access to TurboLinux SDV NetFarm
  • Multi-tiered, various levels of support

19
TurboLinux ISV Program
  • Direct Access to TL Developer Support and
    Professional Services resources
  • Portfolio of services available
  • TIER 3 free product e-mail support
  • TIER 2 full editions of products roadmaps,
    email and phone support
  • TIER 1 dedicated Alliance Manager, Tech and
    Sales training includes product alerts, co-op
    marketing

20
ISV Premium Partners
  • Direct access to TL Developer Support and
    Professional Services resources
  • Portfolio of custom services available
  • Customized program to clients specific needs

21
Developer/Porting Assistance for IA-64
  • Direct support from Developer Support and
    Professional Services teams
  • Access to IA-64 SDVs on-line
  • Priority access for Intel ISVs
  • Training classes, programs for developers
  • Custom programs available

22
Try Linux IA-64!
  • Download your Linux copy from
  • http//www.turbolinux.com
Write a Comment
User Comments (0)
About PowerShow.com