IBM Journal of Research and Development
IBM Skip to main content
  Home     Products & services     Support & downloads     My account  

  Select a country  
Journals Home  
  Systems Journal  
Journal of Research
and Development
    Current Issue  
    Recent Issues  
    Papers in Progress  
    Recent publications  
    Author's Guide  
  Contact Us  
  Related links:  
     IBM Research  

IBM Journal of Research and Development  
Volume 48, Number 3/4, Page 543 (2004)
IBM eServer z990
  Full article: arrowHTML arrowPDF   arrowCopyright info


The GNU 64-bit PL8 compiler: Toward an open standard environment for firmware development

by W. Gellerich, T. Hendel, R. Land, H. Lehmann, M. Mueller, P. H. Oden, H. Penner
For two decades, large parts of zSeries® firmware have been written in the PL8 programming language. The existence of a large amount of mature zSeries firmware source code and our excellent experience with PL8 for system programming suggest keeping this language. However, the firmware address space of today's zSeries servers may exceed 2 GB, raising the need for a new 64-bit PL8 compiler, since the original implementation, developed at the IBM Thomas J. Watson Research Center, Yorktown Heights, New York, supports only 32-bit platforms. The GNU compiler collection (GCC) (GNU is a freeware UNIX®-like operating system) has been used to translate those parts of firmware written in C for some years and has also proved successful in compiling Linux™ for zSeries. This fact, combined with the highly modular GCC design, suggested reimplementing PL8 within the GCC framework. In this paper, we report on the extension of PL8 to support 64-bit addressing, its implementation as a GCC front end, and the validation of the new compiler. We also evaluate PL8 as a language for highly reliable low-level programming and give some performance data. The paper documents the high level of quality achieved by the GCC open-source project and how such software fits into the traditional IBM software development processes.
Related Subjects: Compilers and interpreters; IBM eServer z990; Programming, programs, and programming languages