HP Openvms MACRO Compiler Porting and User's Guide

Total Page:16

File Type:pdf, Size:1020Kb

HP Openvms MACRO Compiler Porting and User's Guide HP OpenVMS MACRO Compiler Porting and User’s Guide Order Number: AA–PV64E–TE January 2005 This manual describes how to port Macro-32 source code written for the VAX MACRO compiler to the MACRO compiler for OpenVMS running on either an HP OpenVMS Industry Standard 64 or HP OpenVMS Alpha system. It also describes how to use the compiler. Revision/Update Information: This revised manual supersedes the OpenVMS MACRO-32 Porting and User’s Guide for OpenVMS Version 7.3. Software Version: OpenVMS I64 Version 8.2 OpenVMS Alpha Version 8.2 Hewlett-Packard Company Palo Alto, California © Copyright 2005 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Printed in the US ZK5601 The HP OpenVMS documentation set is available on CD-ROM. This document was prepared using DECdocument, Version 3.3-1b. Contents Preface ............................................................ ix Part I Concepts and Methodology 1 Preparing to Port Macro-32 Code 1.1 Features of the MACRO Compiler ............................... 1–1 1.2 Differences Between the Compiler and the Assembler ............... 1–2 1.2.1 Moving Code ............................................ 1–2 1.2.2 Replicating Code . ........................................ 1–3 1.2.3 Removing Code . ........................................ 1–3 1.2.4 Interleaving Instructions . ................................ 1–4 1.2.5 Reserved Operand Faults . ................................ 1–4 1.3 Step-by-Step Porting Process for OpenVMS VAX to OpenVMS Alpha or OpenVMS I64 .............................................. 1–4 1.4 Step-by-Step Porting Process for OpenVMS Alpha to OpenVMS I64 ..... 1–6 1.5 Identifying Nonportable VAX MACRO Coding Practices .............. 1–6 1.6 Establishing Useful Coding Conventions . ....................... 1–8 1.7 Maintaining Common Sources . ................................ 1–8 1.7.1 Including Compiler Directive Definitions ....................... 1–9 1.7.2 Removing VAX Dependencies ................................ 1–9 1.7.3 Conditionalizing Architecture-Specific Code ..................... 1–9 2 How the MACRO Compiler Functions on Different Platforms 2.1 Using Alpha and Itanium Registers .............................. 2–1 2.2 Itanium Architecture, Calling Standard, and Register Mapping . ....... 2–2 2.3 Routine Calls and Declarations . ................................ 2–4 2.3.1 Linkage Section (OpenVMS Alpha only) ....................... 2–5 2.3.2 Prologue and Epilogue Code . ................................ 2–5 2.3.3 When to Declare Entry Points ............................... 2–6 2.3.4 Directives for Designating Routine Entry Points . ............... 2–6 2.3.5 Code Generation for Routine Calls ............................ 2–7 2.4 Declaring CALL Entry Points . ................................ 2–8 2.4.1 Homed Argument Lists .................................... 2–9 2.4.2 Saving Modified Registers . ................................ 2–10 2.4.3 Modifying the Argument Pointer ............................. 2–10 2.4.4 Establishing Dynamic Condition Handlers in Called Routines ...... 2–10 2.5 Declaring JSB Routine Entry Points ............................. 2–11 2.5.1 Differences Between .JSB_ENTRY and .JSB32_ENTRY ........... 2–11 2.5.2 Two General Cases for Using .JSB32_ENTRY ................... 2–12 2.5.3 PUSHR and POPR Instructions Within JSB Routines ............. 2–12 2.5.4 Establishing Dynamic Condition Handlers in JSB Routines . ....... 2–12 2.6 Declaring a Routine’s Register Use .............................. 2–12 iii 2.6.1 Input Argument for Entry Point Register Declaration . ........... 2–13 2.6.2 Output Argument for Entry Point Register Declaration . ........... 2–14 2.6.3 Scratch Argument for Entry Point Register Declaration ........... 2–14 2.6.4 Preserve Argument for Entry Point Register Declaration .......... 2–15 2.6.5 Help for Specifying Register Sets . ............................ 2–15 2.7 Branching Between Local Routines . ............................ 2–16 2.8 Declaring Exception Entry Points (OpenVMS Alpha only) . ........... 2–17 2.9 Using Packed Decimal Instructions . ............................ 2–17 2.9.1 Differences Between the OpenVMS VAX and OpenVMS Alpha/I64 Implementations ......................................... 2–17 2.10 Using Floating-Point Instructions . ............................ 2–19 2.10.1 Differences Between the OpenVMS VAX and OpenVMS Alpha/I64 Implementations ......................................... 2–19 2.10.2 Impact on Routines in Other Languages ....................... 2–21 2.11 Preserving VAX Atomicity and Granularity ........................ 2–21 2.11.1 Preserving Atomicity . .................................... 2–22 2.11.2 Preserving Granularity .................................... 2–24 2.11.3 Precedence of Atomicity Over Granularity . ................... 2–26 2.11.4 When Atomicity Cannot Be Guaranteed ....................... 2–26 2.11.5 Alignment Considerations for Atomicity ....................... 2–28 2.11.6 Interlocked Instructions and Atomicity ........................ 2–29 2.12 Compiling and Linking . .................................... 2–31 2.12.1 Line Numbering in Listing File . ............................ 2–31 2.13 Debugging ................................................. 2–32 2.13.1 Code Relocation .......................................... 2–32 2.13.2 Symbolic Variables for Routine Arguments . ................... 2–33 2.13.3 Locating Arguments Without $ARGn Symbols ................... 2–33 2.13.3.1 Additional Arguments That Are Easy to Locate ............... 2–33 2.13.3.2 Additional Arguments That Are Not Easy to Locate ........... 2–34 2.13.4 Using VAX and Alpha Register Names on OpenVMS I64 .......... 2–34 2.13.5 Debugging Code with Packed Decimal Data . ................... 2–35 2.13.6 Debugging Code with Floating-Point Data . ................... 2–35 3 Recommended and Required Source Changes 3.1 Stack Usage ................................................ 3–1 3.1.1 References to the Procedure Stack Frame . ................... 3–2 3.1.2 References Outside the Current Stack Frame ................... 3–2 3.1.3 Nonaligned Stack References ................................ 3–2 3.1.4 Building Data Structures on the Stack ........................ 3–2 3.1.5 Quadword Moves Into the VAX SP and PC . ................... 3–3 3.2 Instruction Stream ........................................... 3–3 3.2.1 Data Embedded in the Instruction Stream . ................... 3–4 3.2.2 Run-Time Code Generation ................................. 3–4 3.2.3 Dependencies on Instruction Size . ............................ 3–4 3.2.4 Incomplete Instructions .................................... 3–4 3.2.5 Untranslatable VAX Instructions . ............................ 3–4 3.2.6 References to Internal Processor Registers . ................... 3–5 3.2.7 Use of Z and N Condition Codes with the BICPSW Instruction . 3–5 3.2.8 Interlocked Memory Instructions . ............................ 3–5 3.2.9 Use of the MOVPSL Instruction . ............................ 3–7 3.2.10 Instructions Implemented By Macros ......................... 3–7 3.3 Flow Control Mechanisms . .................................... 3–8 3.3.1 Communication by Condition Codes ........................... 3–8 iv 3.3.2 Branches from JSB Routines into CALL Routines . ............... 3–8 3.3.3 Pushing a Return Address onto the Stack ...................... 3–9 3.3.4 Removing the Return Address from the Stack ................... 3–10 3.3.5 Modifying the Return Address ............................... 3–11 3.3.6 Coroutine Calls . ........................................ 3–11 3.3.7 Using REI to Change Modes ................................ 3–13 3.3.8 Loop Nesting Limit ....................................... 3–14 3.4 Dynamic Image Relocation ..................................... 3–15 3.5 Overwriting Static Data ....................................... 3–15 3.6 Static Initialization Using External Symbols....................... 3–16 3.7 Transfer Vectors ............................................. 3–16 3.8 Arithmetic Exceptions ........................................ 3–17 3.9 Page Size . ................................................ 3–18 3.10 Locking Pages into a Working Set ............................... 3–18 3.11 Synchronization ............................................. 3–23 4 Improving the Performance of Ported Code 4.1 Aligning Data ............................................... 4–1 4.1.1 Alignment Assumptions .................................... 4–1 4.1.2 Directives and Qualifier for Changing Alignment Assumptions ...... 4–2 4.1.3 Precedence of Alignment Controls ............................ 4–2 4.1.4 Recommendations for Aligning Data . ....................... 4–2 4.2 Code Flow and Branch
Recommended publications
  • Operating System Engineering, Lecture 3
    6.828 2012 Lecture 3: O/S Organization plan: O/S organization processes isolation topic: overall o/s design what should the main components be? what should the interfaces look like? why have an o/s at all? why not just a library? then apps are free to use it, or not -- flexible some tiny O/Ss for embedded processors work this way key requirement: support multiple activities multiplexing isolation interaction helpful approach: abstract services rather than raw hardware file system, not raw disk TCP, not raw ethernet processes, not raw CPU/memory abstractions often ease multiplexing and interaction and more convenient and portable note: i'm going to focus on mainstream designs (xv6, Linux, &c) for *every* aspect, someone has done it a different way! example: exokernel and VMM does *not* abstract anything! xv6 has only a few abstractions / services processes (cpu, mem) I/O (file descriptors) file system i'm going to focus on xv6 processes today a process is a running program it has its own memory, share of CPU, FDs, parent, children, &c it uses system calls to interact outside itself to get at kernel services xv6 basic design here very traditional (UNIX/Linux/&c) xv6 user/kernel organization h/w, kernel, user kernel is a big program services: process, FS, net low-level: devices, VM all of kernel runs w/ full hardware privilege (very convenient) system calls switch between user and kernel 1 good: easy for sub-systems to cooperate (e.g. paging and file system) bad: interactions => complex, bugs are easy, no isolation within o/s called "monolithic";
    [Show full text]
  • Using the GNU Compiler Collection (GCC)
    Using the GNU Compiler Collection (GCC) Using the GNU Compiler Collection by Richard M. Stallman and the GCC Developer Community Last updated 23 May 2004 for GCC 3.4.6 For GCC Version 3.4.6 Published by: GNU Press Website: www.gnupress.org a division of the General: [email protected] Free Software Foundation Orders: [email protected] 59 Temple Place Suite 330 Tel 617-542-5942 Boston, MA 02111-1307 USA Fax 617-542-2652 Last printed October 2003 for GCC 3.3.1. Printed copies are available for $45 each. Copyright c 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being \GNU General Public License" and \Funding Free Software", the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled \GNU Free Documentation License". (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents Introduction ...................................... 1 1 Programming Languages Supported by GCC ............ 3 2 Language Standards Supported by GCC ............... 5 3 GCC Command Options .........................
    [Show full text]
  • The Design of a Pascal Compiler Mohamed Sharaf, Devaun Mcfarland, Aspen Olmsted Part I
    The Design of A Pascal Compiler Mohamed Sharaf, Devaun McFarland, Aspen Olmsted Part I Mohamed Sharaf Introduction The Compiler is for the programming language PASCAL. The design decisions Concern the layout of program and data, syntax analyzer. The compiler is written in its own language. The compiler is intended for the CDC 6000 computer family. CDC 6000 is a family of mainframe computer manufactured by Control Data Corporation in the 1960s. It consisted of CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which all were extremely rapid and efficient for their time. It had a distributed architecture and was a reduced instruction set (RISC) machine many years before such a term was invented. Pascal Language Imperative Computer Programming Language, developed in 1971 by Niklaus Wirth. The primary unit in Pascal is the procedure. Each procedure is represented by a data segment and the program/code segment. The two segments are disjoint. Compiling Programs: Basic View Machine Pascal languag program Pascal e compile program filename . inpu r gp output a.out p t c Representation of Data Compute all the addresses at compile time to optimize certain index calculation. Entire variables always are assigned at least one full PSU “Physical Storage Unit” i.e CDC6000 has ‘wordlength’ of 60 bits. Scalar types Array types the first term is computed by the compiler w=a+(i-l)*s Record types: reside only within one PSU if it is represented as packed. If it is not packed its size will be the size of the largest possible variant. Data types … Powerset types The set operations of PASCAL are realized by the conventional bit-parallel logical instructions ‘and ‘ for intersection, ‘or’ for union File types The data transfer between the main store buffer and the secondary store is performed by a Peripheral Processor (PP).
    [Show full text]
  • Entry Point Specification
    EMV® Contactless Specifications for Payment Systems Book B Entry Point Specification Version 2.6 July 2016 © 2016 EMVCo, LLC. All rights reserved. Reproduction, distribution and other use of this document is permitted only pursuant to the applicable agreement between the user and EMVCo found at www.emvco.com. EMV® is a registered trademark or trademark of EMVCo, LLC in the United States and other countries. EMV Contactless Book B Entry Point Specification version 2.6 Legal Notice The EMV® Specifications are provided “AS IS” without warranties of any kind, and EMVCo neither assumes nor accepts any liability for any errors or omissions contained in these Specifications. EMVCO DISCLAIMS ALL REPRESENTATIONS AND WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT, AS TO THESE SPECIFICATIONS. EMVCo makes no representations or warranties with respect to intellectual property rights of any third parties in or in relation to the Specifications. EMVCo undertakes no responsibility to determine whether any implementation of the EMV® Specifications may violate, infringe, or otherwise exercise the patent, copyright, trademark, trade secret, know-how, or other intellectual property rights of third parties, and thus any person who implements any part of the EMV® Specifications should consult an intellectual property attorney before any such implementation. Without limiting the foregoing, the Specifications may provide for the use of public key encryption and other technology, which may be the subject matter of patents in several countries. Any party seeking to implement these Specifications is solely responsible for determining whether its activities require a license to any such technology, including for patents on public key encryption technology.
    [Show full text]
  • 6 Preparing to Port Applications 6.1 Ada
    Porting Applications from HP OpenVMS Alpha to HP OpenVMS Industry Standard 64 for Integrity Servers Order Number: BA442–90001 January 2005 This manual provides a framework for application developers who are migrating applications from HP OpenVMS Alpha to HP OpenVMS Industry Standard 64 for Integrity Servers. Revision/Update Information: This is a new manual. Software Version: OpenVMS I64 Version 8.2 OpenVMS Alpha Version 8.2 Hewlett-Packard Company Palo Alto, California © Copyright 2005 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Intel, Itanium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Java is a U.S. trademark of Sun Microsystems, Inc. UNIX is a registered trademark of The Open Group. Printed in the US ZK6673 This document was prepared using DECdocument, Version 3.3-1b. Contents Preface ............................................................ ix 1 Introduction 1.1 OpenVMS Industry Standard 64 for Integrity Servers . ............... 1–1 1.2 Overview of the Porting Process .
    [Show full text]
  • Openshift Container Platform 3.11 CLI Reference
    OpenShift Container Platform 3.11 CLI Reference OpenShift Container Platform 3.11 CLI Reference Last Updated: 2021-04-12 OpenShift Container Platform 3.11 CLI Reference OpenShift Container Platform 3.11 CLI Reference Legal Notice Copyright © 2021 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • HP Openvms Utility Routines Manual
    HP OpenVMS Utility Routines Manual Order Number: BA554-90019 June 2010 This manual describes the OpenVMS utility routines, a set of routines that provide a programming interface to various OpenVMS utilities. Revision/Update Information: This manual supersedes the HP OpenVMS Utility Routines Manual, OpenVMS Alpha Version 8.3. Software Version: OpenVMS Version 8.4 for Integrity servers OpenVMS Alpha Version 8.4 Hewlett-Packard Company Palo Alto, California © Copyright 2010 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. ZK4493 The HP OpenVMS documentation set is available on CD. This document was prepared using DECdocument, Version 3.3-1B. Contents Preface ............................................................ xvii 1 Introduction to Utility Routines 2 Access Control List (ACL) Editor Routine 2.1 Introduction to the ACL Editor Routine ........................... ACL–1 2.2 Using the ACL Editor Routine: An Example ....................... ACL–1 2.3 ACL Editor Routine . ........................................ ACL–2 ACLEDIT$EDIT ...........................................
    [Show full text]
  • Command Line Interface Overview
    Command Line Interface Overview Note The ASR 5000 hardware platform has reached end of life and is not supported in this release. Any references to the ASR 5000 (specific or implied) or its components in this document are coincidental. Full details on the ASR 5000 hardware platform end of life are available at: https://www.cisco.com/c/en/us/products/collateral/wireless/asr-5000-series/eos-eol-notice-c51-735573.html. This chapter describes the numerous features in the command line interface (CLI). It includes information about the architecture of the CLI, its command modes and user privileges, how to obtain help within the CLI, and other key items. The operating system (StarOS™) controls the overall system logic, control processes, and the CLI. The CLI is a multi-threaded user interface that allows you to manipulate, configure, control and query the hardware and software components that make up the system and its hosted services. In addition, the CLI can host multiple instances of management and service configuration sessions. This allows multiple users to simultaneously access and manage multiple hosted services. This section provides the following information about the CLI: • CLI Structure, on page 1 • CLI Command Modes, on page 2 • CLI Administrative Users, on page 2 • CLI Contexts, on page 7 • Understanding the CLI Command Prompt, on page 8 • CLI Command Syntax, on page 9 • Entering and Viewing CLI Commands, on page 9 • Obtaining CLI Help, on page 13 • Exiting the CLI and CLI Command Modes, on page 14 • IP Address Notation, on page 15 • Alphanumeric Strings, on page 16 CLI Structure CLI commands are strings of commands or keywords and user-specified arguments that set or modify specific parameters of the system.
    [Show full text]
  • 1 Introduction to C – Part I
    1 Introduction to C – part I In this class, we will be employing the modern “C” language which is com- 1 monly used for scientific programming . “C” is closely related to C++ which is an Object Oriented language. It turns out that, while occasionally useful, the Object Oriented properties of C++ are not required for most types of scientific programming. In addition, acquiring a working knowledge of C++ can involve quite a steep learning curve. The object of this class is to get you up to speed as rapidly as possible in a powerful and versatile programming language (we have about three weeks to do that!) and then to introduce you to a number of numerical techniques useful and essential for work in physics and engineering. As it turns out, many software programming pack- ages, such as MathCad and IDL, have syntaxes that are very similar to “C”, and so learning “C” is an excellent entry point for a host of other program- ming environments. Some of you will already have a working knowledge of C or C++. If you don’t, the following three chapters will get you started. Otherwise, consider them a quick refresher. Read: The C Programming Language: Chapter 1. 1.1 Computer Memory and Variables Basically speaking, a computer program is a series of statements that manip- ulate data stored in the computer’s memory and yields a (hopefully useful) result. One can think of the memory of a computer as a series of boxes, each of which can contain one piece of data (a number, a character, etc.).
    [Show full text]
  • Digital Semiconductor Alpha 21064 and Alpha 21064A Microprocessors Hardware Reference Manual
    Digital Semiconductor Alpha 21064 and Alpha 21064A Microprocessors Hardware Reference Manual Order Number: EC–Q9ZUC–TE Abstract: This document contains information about the following Alpha microprocessors: 21064-150, 21064-166, 21064-200, 21064A-200, 21064A-233, 21064A-275, 21064A-275-PC, and 21064A-300. Revision/Update Information: This manual supersedes the Alpha 21064 and Alpha 21064A Microprocessors Hard- ware Reference Manual (EC–Q9ZUB–TE). Digital Equipment Corporation Maynard, Massachusetts June 1996 While Digital believes the information included in this publication is correct as of the date of publication, it is subject to change without notice. Digital Equipment Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. © Digital Equipment Corporation 1996. All rights reserved. Printed in U.S.A. AlphaGeneration, Digital, Digital Semiconductor, OpenVMS, VAX, VAX DOCUMENT, the AlphaGeneration design mark, and the DIGITAL logo are trademarks of Digital Equipment Corporation. Digital Semiconductor is a Digital Equipment Corporation business. GRAFOIL is a registered trademark of Union Carbide Corporation. Windows NT is a trademark of Microsoft Corporation. All other trademarks and registered trademarks are the property of their respective owners. This document was prepared using VAX DOCUMENT Version 2.1. Contents Preface ..................................................... xix 1 Introduction to the 21064/21064A 1.1 Introduction ......................................... 1–1 1.2 The Architecture . ................................... 1–1 1.3 Chip Features ....................................... 1–2 1.4 Backward Compatibility ...............................
    [Show full text]
  • Linux Kernel Initialization
    Bootlin legacy Linux kernel training materials Linux kernel initialization This file is an old chapter of Bootlin’ embedded Linux kernel and driver development training materials (https://bootlin.com/training/kernel/), which has been removed and is no longer maintained. PDF version and sources are available on https://bootlin.com/doc/legacy/kernel-init/ - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/1 Rights to copy © Copyright 2004-2018, Bootlin License: Creative Commons Attribution - Share Alike 3.0 http://creativecommons.org/licenses/by-sa/3.0/legalcode You are free: I to copy, distribute, display, and perform the work I to make derivative works I to make commercial use of the work Under the following conditions: I Attribution. You must give the original author credit. I Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. I For any reuse or distribution, you must make clear to others the license terms of this work. I Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 From Bootloader to user space - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 Kernel Bootstrap (1) How the kernel bootstraps itself appears in kernel building. Example on ARM (pxa cpu) in Linux 2.6.36: ..
    [Show full text]
  • Metal C Programming Guide and Reference
    z/OS Version 2 Release 3 Metal C Programming Guide and Reference IBM SC14-7313-30 Note Before using this information and the product it supports, read the information in “Notices” on page 159. This edition applies to Version 2 Release 3 of z/OS (5650-ZOS) and to all subsequent releases and modifications until otherwise indicated in new editions. Last updated: 2019-02-15 © Copyright International Business Machines Corporation 1998, 2017. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents List of Figures...................................................................................................... vii List of Tables........................................................................................................ ix About this document.............................................................................................xi Who should read this document................................................................................................................. xi Where to find more information..................................................................................................................xi z/OS Basic Skills in IBM Knowledge Center.......................................................................................... xi How to read syntax diagrams......................................................................................................................xi How to send your comments to IBM......................................................................xv
    [Show full text]