1 Introduction

1.1 Scope

This document discusses the mechanisms and configuration entries required to make it easy to write portable silicon modules and to port the Framework from platform to platform.

This specification is a "requirements" specification and lists the types of data that need to be abstracted. The set of items requiring abstraction will need to be converted in to various implementations-global build flags, driver specific build flags, protocols, PPIs, data structures, and build files-that form a true porting guide.

This document focuses on data types needed for writing driver modules and includes detailed listings of properties. Porting to a specific platform does not require manually setting all of these values. Some values are derivable from other values and don't need to be set directly. Also, it might be possible to build a more intelligent way to gather the requirements for the user without having them fill out an exhaustive list of properties.

1.2 Target Audience

This document is intended to be the basis for the EDK II (EDK 2.0) activity and is designed to get feedback about what types of data need to be abstracted.

The goal of the document will be to enable the creation of implementation documentation that talks about build and code changes, in addition to the creation of detailed porting guides.

The following publications and sources of information may be useful to you or are referred to by this specification: