Phoenix Technologies Ltd.
|
|
|
- Daniella Fisher
- 9 years ago
- Views:
Transcription
1 PC Division Desktop Product Line Subject: Standard BIOS 32-bit Service Directory Proposal Revision: 0.4 Revision Date: June 22, 1993 Document ID: Author: ATBIOS Thomas C. Block Origin Date: May 24, 1993 Abstract: This paper presents a proposal for a new BIOS service, which will be known as the BIOS32 Service Directory. The new service will provide information about those services in the BIOS that are designed for callers running in a 32-bit code segment. (The BIOS32 Service Directory will itself be a 32-bit BIOS service.) The expected clients of this service are 32-bit operating systems and 32-bit device drivers. The expected providers of this service are BIOS vendors that implement one or more 32-bit BIOS services.
2 Table of Contents 1 Introduction Revision History The BIOS32 Service Directory Header The BIOS32 Service Directory Calling Interface Code Segment Data Segments Stack Segment Paging IOPL The Component Existence Function (BL = 0h) Future Functions Summary
3 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page 1 1 Introduction The BIOS32 Service Directory proposal came into being during the attempts to establish a 32-bit code interface for the Peripheral Component Interconnect (PCI) standard. A major problem that needed solving was: How does a 32-bit caller determine the existence of a 32-bit BIOS service? The drawbacks of a functional interface (i.e., an entry point that control is transferred to) are clear in the case where the functional interface is non-extant. A recoverable method would seem to entail a search for a signature as proof that a functional interface does exist. In fact, one of the first BIOS 32-bit services, EISA, uses an existence signature at a fixed location in the 0F000h segment. However, as more 32- bit BIOS services are required and come into existence, it is obvious that providing a signature (and any associated information, such as entry points, segment requirements, etc.) for each is a costly usage of a scarce memory resource. Hence, the idea behind the BIOS32 Service Directory use a single signature to indicate the existence of a generic 32-bit service that returns information on all specific 32-bit services. A further justification for implementing a general solution versus continuing to solve the problem on a case-by-case basis is seen in the obvious benefits a standard provides to the industry. Code reusability, modular ("plug-in"-able) implementation of new 32-bit BIOS interfaces, thorough specification of calling environment requirements, etc., are a few benefits which come to mind. The BIOS32 Service Directory has two components: the Header and the Calling Interface. The Header is a static data structure that includes the signature and which is located in a well-known memory range. The existence of a valid Header implies the existence of the Calling Interface and, in fact, describes its entry point. The Calling Interface is a body of code and data which exists in a separate memory space apart from the Header and any particular 32-bit BIOS services. It provides a functional interface through which a caller receives information about a particular 32-bit BIOS service. (Section 0 describes a hypothetical memory map of the Header, Calling Interface, and the "XYZ" 32-bit BIOS service.) The design of the Calling Interface is extensible in two dimensions. First, it is a functionbased interface - future revisions of the service can incorporate new features, as they become necessary. Second, specific 32-bit BIOS services will be represented by a 4-byte Component ID. This will enable both OS callers and BIOS32 Service Directory implementors alike to easily add new 32-bit BIOS services as they become available. This paper consists of five major sections: this introduction, a revision history, a specification of the BIOS32 Service Directory Header (with an algorithm for determining if the BIOS32 Service Directory exists on a platform), a specification of the Calling
4 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page 2 Interface to the BIOS32 Service Directory, and a summary with example. 2 Revision History Revision 0.0, 5/24/93: Initial revision for internal Phoenix distribution. Revision 0.1, 5/25/93: Incorporated comments from Phoenix internal distribution. Submitted to PCISIG Work Group for discussion. This was the basis for the Work Group conference call agenda on 5/28/93. Participants were from Intel, Phoenix, IBM, and Compaq. Revision 0.2, 6/4/93: Incorporated comments from 5/28/93 conference call and subsequent discussions with Brad Hosler, Intel. Revision 0.3, 6/14/93: Incorporated comments from Brad Hosler, Intel. Revision 0.4, 6/18/93: Incorporated comments from Eric Rasmussen, IBM and Paula Bishop, Phoenix. Changed format from memo to document. Added change bars to distinguish from Revision The BIOS32 Service Directory Header A BIOS which implements the BIOS32 Service Directory must embed a specific, contiguous 16-byte pattern somewhere in the physical address range 0E0000h - 0FFFFFh. The pattern must be paragraph aligned (i.e., it must start on a 16-byte boundary). This pattern is known as the BIOS32 Service Directory Header. The Header is comprised of six distinct fields. The following table describes each field.
5 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page 3 Offset Size Description 0 4 bytes 4 4 bytes The ASCII signature "_32_". This string is packed left to right: offset 0 is '_' (underscore), offset 1 is '3', offset 2 is '2', offset 3 is another '_'. The entry point for the BIOS32 Service Directory Calling Interface. This is a 32-bit linear (i.e., not segment:offset) physical address. 8 1 byte The revision level of the BIOS32 Service Directory Header and Calling Interface. The current revision is 0h. 9 1 byte The length of the BIOS32 Service Directory Header. This is measured in units of paragraphs (16 bytes). The current Header has a length of 1h byte The BIOS32 Service Directory Header checksum. This is a value which makes the cumulative ADD value of all bytes in the Header equal to 0h bytes This field is reserved and should be set to 0h. TABLE 1: The BIOS32 Service Directory Header Clients of the BIOS32 Service Directory should first determine its existence by locating the Header. This is done by scanning 0E0000h to 0FFFF0h in paragraph increments and looking for a signature match ("_32_") in the first 4 bytes of each paragraph. When, and if, the signature is detected the client should perform a checksum of all bytes in the Header. (The Header length, in paragraphs, is found at offset 9h.) All bytes in the Header should ADD together with a result of 0h. If the checksum is valid then the 32-bit entry point field can be used as the address for the BIOS32 Service Directory Calling Interface. If the Header is not found then the BIOS32 Service Directory does not exist on the platform. N.B., The checksum step is necessary since there is a remote possibility that code exists which matches the signature. For example: "_32_" ASCII (5Fh 33h 32h 5Fh) is the instruction sequence POP DI; XOR SI,[BP+SI].
6 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page 4 4 The BIOS32 Service Directory Calling Interface If the BIOS32 Service Directory existence has been determined (via the Header test, above) then the 32-bit physical address found in the Header can be used as the entry point to the Calling Interface. Clients should CALL FAR to this address. The client's calling environment has the following requirements. 4.1 Code Segment The CS code segment selector must be set up with a segment descriptor with the following values: The base address must be less than or equal to the (4kb) page address of the page that contains the entry point. For example, if the entry point is 0FFF81234h then the base address must be less than or equal to 0FFF81000h. The limit must be such that the base address plus the limit generate an address that is greater than or equal to the last address on the (4kb) page which follows the page containing the entry point. For example, if the entry point is 0FFF81234h then the base address plus the limit must be greater than or equal to 0FFF82FFFh. Simply stated, the base address and the limit must "encompass" both the page that contains the entry point and the following page. The segment type must be 100b (code, execute only) or 101b (code, execute/read). However, the implementors of the Service Directory cannot assume read access to the CS code segment. The system bit must be 1 (nonsystem segment). It is recommended that the Descriptor Privilege Level (DPL) be 0. (The CS descriptor DPL becomes the Current Privilege Level, or CPL). If the CPL is not 0, then the OS must provide trapping and virtualization services for ring 0 privileged instructions (such as those that access CRx). Note also the dependency of this field on the IOPL field in EFLAGS (see Section 0). The Default Size bit must be 1 (32 bits). The BIOS32 Service Directory entry point, and its associated code and data, may be located anywhere within the 4Gb physical address space. However, it is guaranteed to be physically contiguous (i.e., it will be delivered in ROM or FLASH space) and to fit within two pages (i.e., it will not span three pages).
7 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page Data Segments The DS data segment selector must be set up with a segment descriptor with the following values: The base address must be equal to the CS base address. The limit must be greater than or equal to the CS limit. The segment type must be 000b (data, read only) or 001 (data, read/write). However, the implementors of the Service Directory cannot assume write access to the DS data segment. The system bit must be 1 (nonsystem segment). The Descriptor Privilege Level (DPL) must be greater than or equal to CPL (see the DPL field in Section 0). There are no requirements concerning the ES, FS, and GS data segment selectors. 4.3 Stack Segment The SS stack segment selector must be set up with a segment descriptor with the following values: The segment type must be 011b (data, read/write, expand-down) or 001b data, read/write, expand-up). The system bit must be 1 (nonsystem segment). The Descriptor Privilege Level (DPL) must be equal to the CPL (see the DPL field in Section 0). The Default Size bit must be 1 (32 bits). The Granularity bit must be 1 (4Kb). Note that the above settings ensure a stack size of at least 4kb. It is the caller's responsibility to ensure that there is at least 1kb of unused stack available.
8 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page Paging Paging may or may not be enabled. If paging is enabled, then the address space that is described by the CS and DS selectors must be linearly contiguous. That is, the original physical contiguity of the Calling Interface as found in ROM or FLASH must be preserved. (The Calling Interface code and data is written to be position-independent and EIP-relative). 4.5 IOPL In order for the Calling Interface to execute I/O instructions, the I/O Privilege Level (IOPL) field in EFLAGS must be greater than or equal to the CPL (see the DPL field in Section 0). The BIOS32 Service Directory Calling Interface is function-based and all parameters are passed in registers. If a register is not specified as an output parameter for a function, then it will be preserved. All flags are preserved. Function values are passed as input parameters in register BL. Return status is passed back in register AL. A return status of 00h indicates that the function was successful. A return status of 80h indicates that the requested function (in BL) is not supported. Other AL return values are defined by the individual functions. There is currently one BIOS32 Service Directory function defined. It is specified below. 4.6 The Component Existence Function (BL = 0h) The Component Existence function returns information about whether a specific 32-bit BIOS service exists and, if it does, what memory space it occupies. Input: BL, 0h EAX, Component ID The Component ID is a 4-byte ASCII string which uniquely identifies the 32-bit BIOS service. The specifications for particular BIOS services define their own Component IDs. (It is important that those specifications define whether the Component ID string is packed left to right, or right to left.) EBX, Reserved, set to 0h
9 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page 7 Output: If requested 32-bit service does not exist AL = 81h If requested 32-bit service does exist AL = 0h EBX = base address of 32-bit BIOS service ECX = length of 32-bit BIOS service EDX = offset (from EBX) of 32-bit BIOS service entry point The meaning of the EBX, ECX, and EDX registers is dependent on the particular 32-bit BIOS service specification. That is, they may represent exact values for setting up segment selectors, minimal "encompassing" values, etc. 4.7 Future Functions Future BIOS32 Service Directory functions may be defined in subsequent revisions of this document. The function parameter interface is not constrained to register passing and may employ input/output parameters on the stack. This is feasible due to the static definition of the stack (see Section 0). 5 Summary This paper presents a proposal for the BIOS32 Service Directory. This proposal identifies two distinct memory components: the Header and the Calling Interface. The Header is a paragraph of signature data located in the memory range 0E0000h - 0FFFFFh. The Calling Interface is a body of code that occupies a physically contiguous section of memory anywhere in the 4Gb address space and is less than two pages (8kb) in length. The Header contains a pointer into the Calling Interface memory area. The BIOS 32 Service Directory Calling Interface functions describe additional memory areas that contain code and data for specific 32-bit BIOS services. A memory map for a hypothetical Header, Calling Interface and the "XYZ" 32-bit BIOS service follows.
10 Standard BIOS 32-bit Service Directory Proposal, Revision 0.4 Page 8 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 4Gb ³ ³ ³ BIOS32 Service Directory ³ ÍÍÍÍÍÍÍÍ» ³ Calling Interface ³ º ³ Code/Data ³<ÍÍÍÍÍ» º ³ ³ º º ³ ³ º º.. º º.. º º.. º º ³ ³ º º ³ ³ º º ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄij 1Mb º º ³ ³ º º ³ ³ º º ³ BIOS32 Service Directory ³ ÍÍÍÍͼ º ³ Header ³ º ³ ³ º ³ ³ º ³ ³ º ³ "XYZ" 32-bit BIOS Service ³ º ³ Code/Data ³<ÍÍÍÍÍÍÍͼ ³ ³ ³ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄij E0000h ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 0000h This proposal lays the groundwork for a standard method of accessing 32-bit BIOS services. The extensibility of the BIOS32 Service Directory Calling Interface may be used easily to advance a standard method as new 32-bit BIOS services are recognized and implemented.
PCI BIOS SPECIFICATION. Revision 2.1
PCI BIOS SPECIFICATION Revision 2.1 August 26, 1994 ii PCI BIOS Specification Revision 2.1 REVISION REVISION HISTORY DATE 1.0 Original issue distributed by Intel 9/28/92 2.0 Updated to be in synch with
CHAPTER 6 TASK MANAGEMENT
CHAPTER 6 TASK MANAGEMENT This chapter describes the IA-32 architecture s task management facilities. These facilities are only available when the processor is running in protected mode. 6.1. TASK MANAGEMENT
PCI-SIG ENGINEERING CHANGE REQUEST
PCI-SIG ENGINEERING CHANGE REQUEST TITLE: Update DMTF SM CLP Specification References DATE: 8/2009 AFFECTED DOCUMENT: PCIFW30_CLP_1_0_071906.pdf SPONSOR: Austin Bolen, Dell Inc. Part I 1. Summary of the
Systems Design & Programming Data Movement Instructions. Intel Assembly
Intel Assembly Data Movement Instruction: mov (covered already) push, pop lea (mov and offset) lds, les, lfs, lgs, lss movs, lods, stos ins, outs xchg, xlat lahf, sahf (not covered) in, out movsx, movzx
Understanding a Simple Operating System
Understanding a Simple Operating System SOS is a Simple Operating System designed for the 32- bit x86 architecture. Its purpose is to understand basic concepts of operating system design. These notes are
IA-32 Intel Architecture Software Developer s Manual
IA-32 Intel Architecture Software Developer s Manual Volume 2B: Instruction Set Reference, N-Z NOTE: The IA-32 Intel Architecture Software Developer s Manual consists of four volumes: Basic Architecture,
VESA BIOS Extension/Accelerator Functions (VBE/AF)
VBE/AF Standard Video Electronics Standards Association 860 Hillview Court, Suite 150 Phone: (408) 957-9270 Milpitas, CA 95035 FAX: (408) 957-9277 VESA BIOS Extension/Accelerator Functions (VBE/AF) Version:
Embedded x86 Programming: Protected Mode
by JEAN GAREAU Embedded x86 Programming: Protected Mode The x86 architecture is ubiquitous on the desktop and is spilling over into embedded systems environments. This article begins a series designed
Programming Interface. for. Bus Master IDE Controller. Revision 1.0
Programming Interface for Bus Master IDE Controller Revision 1.0 5/16/94 Until this specification is ratified, it is solely owned and maintained by: Brad Hosler, Intel Corporation [email protected] (please
W4118 Operating Systems. Junfeng Yang
W4118 Operating Systems Junfeng Yang Outline Linux overview Interrupt in Linux System call in Linux What is Linux A modern, open-source OS, based on UNIX standards 1991, 0.1 MLOC, single developer Linus
Faculty of Engineering Student Number:
Philadelphia University Student Name: Faculty of Engineering Student Number: Dept. of Computer Engineering Final Exam, First Semester: 2012/2013 Course Title: Microprocessors Date: 17/01//2013 Course No:
PCI-SIG ENGINEERING CHANGE NOTICE
PCI-SIG ENGINEERING CHANGE NOTICE TITLE: Dynamic Power Allocation DATE: May 24, 2008 AFFECTED DOCUMENT: PCI Express Base Specification version 2.0 SPONSOR: Intel Corporation, Hewlett-Packard, IBM Part
W4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline x86 segmentation and paging hardware Linux address space translation Copy-on-write Linux page replacement algorithm Linux dynamic memory allocation
Intel 8086 architecture
Intel 8086 architecture Today we ll take a look at Intel s 8086, which is one of the oldest and yet most prevalent processor architectures around. We ll make many comparisons between the MIPS and 8086
Addendum Intel Architecture Software Developer s Manual
Addendum Intel Architecture Software Developer s Manual Volume 3: System Programming Guide Order Number: 243690-001 NOTE: The Intel Architecture Software Developer s Manual consists of the following volumes:
An overview of FAT12
An overview of FAT12 The File Allocation Table (FAT) is a table stored on a hard disk or floppy disk that indicates the status and location of all data clusters that are on the disk. The File Allocation
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 [email protected] ABSTRACT This paper
W4118: segmentation and paging. Instructor: Junfeng Yang
W4118: segmentation and paging Instructor: Junfeng Yang Outline Memory management goals Segmentation Paging TLB 1 Uni- v.s. multi-programming Simple uniprogramming with a single segment per process Uniprogramming
MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS
MICROPROCESSOR BCA IV Sem MULTIPLE CHOICE QUESTIONS 1) Which is the microprocessor comprises: a. Register section b. One or more ALU c. Control unit 2) What is the store by register? a. data b. operands
MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1
MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable
3. USB FLASH DRIVE PREPARATION. Almost all current PC firmware permits booting from a USB drive, allowing the launch
3. USB FLASH DRIVE PREPARATION 3.1 INTRODUCTION Almost all current PC firmware permits booting from a USB drive, allowing the launch of an operating system from a bootable flash drive. Such a configuration
File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System
CS341: Operating System Lect 36: 1 st Nov 2014 Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati File System & Device Drive Mass Storage Disk Structure Disk Arm Scheduling RAID
Automatic Logging of Operating System Effects to Guide Application-Level Architecture Simulation
Automatic Logging of Operating System Effects to Guide Application-Level Architecture Simulation Satish Narayanasamy, Cristiano Pereira, Harish Patil, Robert Cohn, and Brad Calder Computer Science and
Storage in Database Systems. CMPSCI 445 Fall 2010
Storage in Database Systems CMPSCI 445 Fall 2010 1 Storage Topics Architecture and Overview Disks Buffer management Files of records 2 DBMS Architecture Query Parser Query Rewriter Query Optimizer Query
matasano Hardware Virtualization Rootkits Dino A. Dai Zovi
Hardware Virtualization Rootkits Dino A. Dai Zovi Agenda Introductions Virtualization (Software and Hardware) Intel VT-x (aka Vanderpool ) VM Rootkits Implementing a VT-x based Rootkit Detecting Hardware-VM
Embedded X86 Programming: Protected Mode
Embedded X86 Programming: Protected Mode By Jean Gareau Intel has shipped millions of 80386, 80486, and Pentiums since 1986, and this figure is increasing rapidly. The x86 is expected to seriously affect
Intel Virtualization Technology Specification for the IA-32 Intel Architecture
Intel Virtualization Technology Specification for the IA-32 Intel Architecture C97063-002 April 2005 THIS DOCUMENT AND RELATED MATERIALS AND INFORMATION ARE PROVIDED AS IS WITH NO WARRANTIES, EXPRESS OR
Technical Note. SFDP for MT25Q Family. Introduction. TN-25-06: Serial Flash Discovery Parameters for MT25Q Family. Introduction
Technical Note SFDP for MT25Q Family TN-25-06: Serial Flash Discovery Parameters for MT25Q Family Introduction Introduction The serial Flash discoverable parameter (SFDP) standard enables a consistent
UEFI Hypervisors Winning the Race to Bare Metal
UEFI Hypervisors Winning the Race to Bare Metal Don Bailey Hypervista Technologies Herndon, VA 20170 USA +001 703 582 1277 [email protected] Black Hat Conference Proceedings 2008 Abstract. Improvements
Chapter 13. Disk Storage, Basic File Structures, and Hashing
Chapter 13 Disk Storage, Basic File Structures, and Hashing Chapter Outline Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and Extendible Hashing
Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging
Memory Management Outline Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging 1 Background Memory is a large array of bytes memory and registers are only storage CPU can
How To Write A Page Table
12 Paging: Introduction Remember our goal: to virtualize memory. Segmentation (a generalization of dynamic relocation) helped us do this, but has some problems; in particular, managing free space becomes
Advanced x86: BIOS and System Management Mode Internals SPI Flash. Xeno Kovah && Corey Kallenberg LegbaCore, LLC
Advanced x86: BIOS and System Management Mode Internals SPI Flash Xeno Kovah && Corey Kallenberg LegbaCore, LLC All materials are licensed under a Creative Commons Share Alike license. http://creativecommons.org/licenses/by-sa/3.0/
Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software
Embedded Software development Process and Tools: Lesson-4 Linking and Locating Software 1 1. Linker 2 Linker Links the compiled codes of application software, object codes from library and OS kernel functions.
UEFI on Dell BizClient Platforms
UEFI on Dell BizClient Platforms Authors: Anand Joshi Kurt Gillespie This document is for informational purposes only and may contain typographical errors and technical inaccuracies. The content is provided
Objectives of Lecture. Network Architecture. Protocols. Contents
Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking
Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 13-1
Slide 13-1 Chapter 13 Disk Storage, Basic File Structures, and Hashing Chapter Outline Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and Extendible
CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08
CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 20: Stack Frames 7 March 08 CS 412/413 Spring 2008 Introduction to Compilers 1 Where We Are Source code if (b == 0) a = b; Low-level IR code
ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory
ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory 1 1. Memory Organisation 2 Random access model A memory-, a data byte, or a word, or a double
Off-by-One exploitation tutorial
Off-by-One exploitation tutorial By Saif El-Sherei www.elsherei.com Introduction: I decided to get a bit more into Linux exploitation, so I thought it would be nice if I document this as a good friend
Return-oriented programming without returns
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Return-oriented programming without urns S. Checkoway, L. Davi, A. Dmitrienko, A. Sadeghi, H. Shacham, M. Winandy
Database 2 Lecture I. Alessandro Artale
Free University of Bolzano Database 2. Lecture I, 2003/2004 A.Artale (1) Database 2 Lecture I Alessandro Artale Faculty of Computer Science Free University of Bolzano Room: 221 [email protected] http://www.inf.unibz.it/
Intel Vanderpool Technology for IA-32 Processors (VT-x) Preliminary Specification
Intel Vanderpool Technology for IA-32 Processors (VT-x) Preliminary Specification Order Number C97063-001 January 2005 THIS DOCUMENT AND RELATED MATERIALS AND INFORMATION ARE PROVIDED "AS IS" WITH NO WARRANTIES,
Computer Organization and Architecture
Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal
Analysis of the Intel Pentium s Ability to Support a Secure Virtual Machine Monitor
Analysis of the Intel Pentium s Ability to Support a Secure Virtual Machine Monitor John Scott Robin U.S. Air Force scott robin @hotmail.com Cynthia E. Irvine Naval Postgraduate School [email protected]
Intel Chipset 4 GB System Memory Support
Intel Chipset System Memory Support White Paper February 2005 evision 1.0 INFOMATION IN THIS DOCUMENT IS POVIDED IN CONNECTION WITH INTEL PODUCTS. NO LICENSE, EXPESS O IMPLIED, BY ESTOPPEL O OTHEWISE,
Chapter 13 Disk Storage, Basic File Structures, and Hashing.
Chapter 13 Disk Storage, Basic File Structures, and Hashing. Copyright 2004 Pearson Education, Inc. Chapter Outline Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files
SD Specifications Part A2 SD Host Controller Simplified Specification
SD Specifications Part A2 SD Host Controller Simplified Specification Version 2.00 February 8, 2007 Technical Committee SD Association Revision History Date Version Changes compared to previous issue April
Storing Data: Disks and Files. Disks and Files. Why Not Store Everything in Main Memory? Chapter 7
Storing : Disks and Files Chapter 7 Yea, from the table of my memory I ll wipe away all trivial fond records. -- Shakespeare, Hamlet base Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Disks and
Hardware Assisted Virtualization
Hardware Assisted Virtualization G. Lettieri 21 Oct. 2015 1 Introduction In the hardware-assisted virtualization technique we try to execute the instructions of the target machine directly on the host
Advanced x86: BIOS and System Management Mode Internals Flash Descriptor. Xeno Kovah && Corey Kallenberg LegbaCore, LLC
Advanced x86: BIOS and System Management Mode Internals Flash Descriptor Xeno Kovah && Corey Kallenberg LegbaCore, LLC All materials are licensed under a Creative Commons Share Alike license. http://creativecommons.org/licenses/by-sa/3./
W25Q80, W25Q16, W25Q32 8M-BIT, 16M-BIT AND 32M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI
8M-BIT, 16M-BIT AND 32M-BIT SERIAL FLASH MEMORY WITH DUAL AND QUAD SPI - 1 - Preliminary - Revision B Table of Contents 1. GENERAL DESCRIPTION... 5 2. FEATURES... 5 3. PIN CONFIGURATION SOIC 208-MIL...
Topics in Computer System Performance and Reliability: Storage Systems!
CSC 2233: Topics in Computer System Performance and Reliability: Storage Systems! Note: some of the slides in today s lecture are borrowed from a course taught by Greg Ganger and Garth Gibson at Carnegie
Chapter 1. Bootstrap. Hardware
DRAFT as of September 23, 2010: Copyright 2009 Cox, Kaashoek, Morris Chapter 1 Bootstrap Hardware A computer s CPU (central processing unit, or processor) runs a conceptually simple loop: it inspects the
File System Management
Lecture 7: Storage Management File System Management Contents Non volatile memory Tape, HDD, SSD Files & File System Interface Directories & their Organization File System Implementation Disk Space Allocation
Advanced Operating Systems and Virtualization MS degree in Computer Engineering Sapienza University of Rome Lecturer: Francesco Quaglia
Advanced Operating Systems and Virtualization MS degree in Computer Engineering Sapienza University of Rome Lecturer: Francesco Quaglia Topics 1. Basic support for guest systems execution System virtualization
Under The Hood: The System Call
2 Under The Hood: The System Call In this note, we ll peak under the hood of one simple and neat OS called xv6 [CK+08]. The xv6 kernel is a port of an old UNIX version 6 from PDP-11 (the machine it was
VISA for PXI Specification
VISA for PXI Specification PCI extensions for Instrumentation An Implementation of VISA for PXI Specification Rev. 1.0 9/25/2003 PXI-3 Revision 1.0 September 25, 2003 IMPORTANT INFORMATION Copyright Copyright
Operating System Overview. Otto J. Anshus
Operating System Overview Otto J. Anshus A Typical Computer CPU... CPU Memory Chipset I/O bus ROM Keyboard Network A Typical Computer System CPU. CPU Memory Application(s) Operating System ROM OS Apps
Intel Processor Serial Number
APPLICATION NOTE Intel Processor Serial Number March 1999 ORDER NUMBER: 245125-001 Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel
Buffer Overflows. Security 2011
Buffer Overflows Security 2011 Memory Organiza;on Topics Kernel organizes memory in pages Typically 4k bytes Processes operate in a Virtual Memory Space Mapped to real 4k pages Could live in RAM or be
Abysssec Research. 1) Advisory information. 2) Vulnerable version
Abysssec Research 1) Advisory information Title Version Discovery Vendor Impact Contact Twitter CVE : Apple QuickTime FlashPix NumberOfTiles Remote Code Execution Vulnerability : QuickTime player 7.6.5
TECHNICAL BULLETIN [ 1 / 5 ]
TECHNICAL BULLETIN [ 1 / 5 ] [Title] Corrective action when MELSOFT products cannot be installed on a personal computer on which the 6th Generation Intel Core Processor has been installed [Date of Issue]
Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) [email protected] http://www.mzahran.com
CSCI-UA.0201-003 Computer Systems Organization Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) [email protected] http://www.mzahran.com Some slides adapted (and slightly modified)
Introduction to Computer Security
Introduction to Computer Security Access Control and Authorization Pavel Laskov Wilhelm Schickard Institute for Computer Science Resource access recapitulated 1. Identification Which object O requests
Preliminary Draft May 19th 1992. Video Subsystem
Video Subsystem 2 Preliminary Draft May 19th 1992 Video Subsystem Section 1. Introduction....................... 1-1 Video Subsystem.......................... 1-2 Section 2. VGA Function......................
1 File Management. 1.1 Naming. COMP 242 Class Notes Section 6: File Management
COMP 242 Class Notes Section 6: File Management 1 File Management We shall now examine how an operating system provides file management. We shall define a file to be a collection of permanent data with
4K Sector Disk Drives: Transitioning to the Future with Advanced Format Technologies
4K Sector Disk Drives: Transitioning to the Future with Advanced Format Technologies By Michael E. Fitzpatrick, Engineering Fellow, Storage Products Marketing Toshiba America Information Systems, Inc.
Pushing the Limits of Windows: Physical Memory Mark Russinovich (From Mark Russinovich Blog)
This is the first blog post in a series I'll write over the coming months called Pushing the Limits of Windows that describes how Windows and applications use a particular resource, the licensing and implementation-derived
64-Bit NASM Notes. Invoking 64-Bit NASM
64-Bit NASM Notes The transition from 32- to 64-bit architectures is no joke, as anyone who has wrestled with 32/64 bit incompatibilities will attest We note here some key differences between 32- and 64-bit
Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB
APPLICATION NOTE M16C/26 1.0 Abstract The following article describes using a synchronous serial port and the FoUSB (Flash-over-USB ) Programmer application to program the user flash memory of the M16C/26
PowerPC 405 GP Overview
PowerPC 405 GP Overview Marcelo T Pereira LISHA/UFSC [email protected] http://www.lisha.ufsc.br/~trier October 1, 2002 October 1, 2002 Marcelo T Pereira (http://www lisha ufsc br) 1 Khomp Plataform Software/Hardware
Chapter 12 File Management
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Overview File organisation and Access
Chapter 12 File Management. Roadmap
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 12 File Management Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Overview Roadmap File organisation and Access
USB Flash Drive User s Manual
USB Flash Drive User s Manual V4.01 Introduction Thank you for your purchasing the USB Drive. This manual will guide you through the usages of the USB Drive and of all management tools coming with it.
Windows NT File System. Outline. Hardware Basics. Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik
Windows Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik Outline NTFS File System Formats File System Driver Architecture Advanced Features NTFS Driver On-Disk Structure (MFT,...)
AMD Processor Recognition Application Note. For Processors Prior to AMD Family 0Fh Processors
AMD Processor Recognition Application Note For Processors Prior to Publication # 20734 Revision: 3.13 Issue Date: December 2005 1997 2004 Advanced Micro Devices, Inc. All rights reserved. The contents
REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux. Lesson-3: Windows and Memory Management
REAL TIME OPERATING SYSTEM PROGRAMMING-II: II: Windows CE, OSEK and Real time Linux Lesson-3: Windows and Memory Management 1 1. Windows 2 Windows Many Windows on a screen. A screen top (desktop) is a
Outline. Windows NT File System. Hardware Basics. Win2K File System Formats. NTFS Cluster Sizes NTFS
Windows Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik 2 Hardware Basics Win2K File System Formats Sector: addressable block on storage medium usually 512 bytes (x86 disks) Cluster:
Chapter 12 File Management
Operating Systems: Internals and Design Principles Chapter 12 File Management Eighth Edition By William Stallings Files Data collections created by users The File System is one of the most important parts
Two Parts. Filesystem Interface. Filesystem design. Interface the user sees. Implementing the interface
File Management Two Parts Filesystem Interface Interface the user sees Organization of the files as seen by the user Operations defined on files Properties that can be read/modified Filesystem design Implementing
Tech Tip: Understanding Server Memory Counters
Tech Tip: Understanding Server Memory Counters Written by Bill Bach, President of Goldstar Software Inc. This tech tip is the second in a series of tips designed to help you understand the way that your
Chapter 2. Processes. Address Spaces
DRAFT as of September 23, 2010: Copyright 2009 Cox, Kaashoek, Morris Chapter 2 Processes One of an operating system s central roles is to allow multiple programs to share the CPUs and main memory safely,
Chapter 6 Window Operations
Chapter 6 Window Operations... 2 6.1 Window Types... 2 6.1.1 Base Window... 2 6.1.2 Fast Selection Window... 2 6.1.3 Common Window... 3 6.1.4 System Message Window... 3 6.2 Create, Set, and Delete a Window...
Basic ShadowProtect Troubleshooting
Level 11, 53 Walker Street North Sydney NSW 2060 Australia t +61 2 9929 9770 f +61 2 9929 9771 w www.storagecraft.com.au Basic ShadowProtect Synopsis This article describes basic ShadowProtect troubleshooting
OfficeServ Application Suite
OfficeServ Application Suite Introduction to the standard package The OfficeServ application suite consists of a number of applications designed to enhance the functionality and usability of the Samsung
Chapter 13. Chapter Outline. Disk Storage, Basic File Structures, and Hashing
Chapter 13 Disk Storage, Basic File Structures, and Hashing Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Chapter Outline Disk Storage Devices Files of Records Operations on Files Unordered Files
Intel 8255x 10/100 Mbps Ethernet Controller Family
Intel 8255x 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual January 2006 Revision 1.3 Information in this document is provided in connection with Intel products. This specification,
Lecture 16: Storage Devices
CS 422/522 Design & Implementation of Operating Systems Lecture 16: Storage Devices Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions of
Virtual machines and operating systems
V i r t u a l m a c h i n e s a n d o p e r a t i n g s y s t e m s Virtual machines and operating systems Krzysztof Lichota [email protected] A g e n d a Virtual machines and operating systems interactions
Intel Virtualization Technology FlexMigration Application Note
Intel Virtualization Technology FlexMigration Application Note This document is intended only for VMM or hypervisor software developers and not for application developers or end-customers. Readers are
Get Success in Passing Your Certification Exam at first attempt!
Get Success in Passing Your Certification Exam at first attempt! Vendor: Microsoft Exam Code: 70-687 Exam Name: Microsoft Configuring Windows 8 Exam Version: Demo QUESTION: 1 A company has an Active Directory
How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
PCI-SIG ENGINEERING CHANGE NOTICE
PCI-SIG ENGINEEING CHANGE NOTICE TITLE: Enhanced Allocation (EA) for Memory and I/O esources DATE: Introduced: 19 March 2014 Updated: 23 October 2014 Final Approval: 23 October 2014 AFFECTED DOCUMENT:
COS 318: Operating Systems. Storage Devices. Kai Li and Andy Bavier Computer Science Department Princeton University
COS 318: Operating Systems Storage Devices Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318/ Today s Topics! Magnetic disks!
Memory Systems. Static Random Access Memory (SRAM) Cell
Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled
Data De-duplication Methodologies: Comparing ExaGrid s Byte-level Data De-duplication To Block Level Data De-duplication
Data De-duplication Methodologies: Comparing ExaGrid s Byte-level Data De-duplication To Block Level Data De-duplication Table of Contents Introduction... 3 Shortest Possible Backup Window... 3 Instant
