Linux/Alpha Progress Report (1 of 2)

Jerry Feldman, ZKO3-3/Y25, DTN:381-2970 gaf at zk3.dec.com
Mon Nov 14 17:12:10 EST 1994


                       Linux/Alpha Progress Report
                           Part 1 - Overview
                           November 14, 1994



                              Jim Paradis
                      Alpha Migration Tools Group
                     Digital Equipment Corporation

             NEW EMAIL ADDRESS:  paradis at amt.tay1.dec.com


1.0  INTRODUCTION - WHAT IS LINUX/ALPHA?  

The Linux FAQ (Frequently-Asked-Questions) list describes Linux as
follows:  

     Linux is a Unix clone for 386/486-based PCs, written from scratch
     by Linus Torvalds, with assistance from a loosely-knit team of
     hackers across the Net.  It aims towards POSIX compliance.  

     It has all the features you would expect in a modern
     fully-fledged Unix, including true multitasking, virtual memory,
     shared libraries, demand loading, shared copy-on-write
     executables, proper memory management and TCP/IP networking.  

     It uses the hardware features of the 386 processor family (TSS
     segments et al) to implement these features.  

     It is distributed under the GNU General Public License 

Although the distributed Linux kernel depends heavily on the x86
processor architecture, it is feasible to port it to other
architectures.  Indeed, ports are currently in progress to the Alpha,
680x0, PowerPC, MIPS, and possibly other architectures.
Linux/Alpha  is my port of the Linux operating system to the Digital
Alpha architecture.  


2.0  OVERVIEW OF LINUX/ALPHA  

Linux/Alpha  is a port of Linux to the Digital Alpha RISC
microprocessor.  It is based on the Linux V1.0 kernel.  Linux V1.0 was
current when I started the project.  To limit the number of variables,
I decided to stick with a single version while developing the
Alpha-specific pieces.  Although the Linux V1.0 kernel provides more
than enough functionality for our current needs, we might investigate
subsequently leapfrogging to the most-current stable kernel when
Linux/Alpha  is stable.  

Linux/Alpha is a 32-bit operating system.  Except for those cases where
the kernel must interface with the Alpha hardware, no kernel data
type is wider than 32 bits.  As far as C programmers are concerned
pointers and longs are 32 bits.  The decision to remain with 32-bit
data types was based on our group's experience with migrating legacy
software to a 64-bit environment.  By not changing the size of any
data types, those parts of Linux that are unaffected by the port (such

Linux/Alpha Progress Report                                       Page 2



as the file system code) should continue to work without modification.
Changing the data type size would require significant code review to
ensure that all data types are used correctly.  Note that 64-bit
quantities are still available for computation through the use of
"long long" and "long double" C data types.  Thus, the only limitation
of a 32-bit operating system is the unavailability of 64-bit pointers.
On PC-class machines, with at most a few tens of megabytes of physical
memory, this should not be a significant restriction for the
forseeable future.  

Linux/Alpha is primarily aimed at PC-class Alpha platforms that
support ISA, VLB, and PCI devices.  Support for other devices
and platforms is possible in the future.  Contribution of drivers for
other platforms is always welcome.  

+-------------------------------------------------------------+
Jerry Feldman            Unix Systems - Development Engineering
Mailstop: ZKO3-3/Y25     DTN:381-2970
Digital Equipment Corp.  EXT:(603)881-2970
110 Spitbrook Rd.        ip(DEC): gaf at zk3.dec.com
Nashua, NH 03062-9987    enet: QUARRY::GAF
                      Internet(HOME):gaf at palantir.newton.ma.us
+-------------------------------------------------------------+
 



More information about the Discuss mailing list