Solaris SPARC to Solaris x86 Porting Guide
This book also describes some of the tools provided by the operating system for developing 64-bit
applications.
Platform infrastructure
I/O architecture
Unlike the x86 family, which uses special IN/OUT instructions to access the PCI I/O space, the
SPARC chip family treats access to the PCI I/O space the same as it treats access to the memory
space. Communication with I/O devices in the SPARC platform is accomplished through memory. A
range of memory locations is logically replaced by device registers.
The x86 platform accesses I/O ports through the I/O address space by means of a set of I/O
instructions and a special I/O protection mechanism. Accessing I/O ports through memory-mapped
I/O is handled with the processor's general-purpose move and string instructions, with protection
provided through segmentation or paging. I/O ports can be mapped so that they appear in the I/O
address space or the physical-memory address space (memory-mapped I/O) or both.
The SPARC platform assumes that input/output registers are accessed by means of load/store
alternate instructions, normal load/store instructions, coprocessor instructions, or read/write ancillary
state register instructions (RDASR, WRASR). In the load/store alternate instructions case, the I/O
registers can only be accessed by the supervisor. If normal load/store instructions, coprocessor
instructions, or read/write Ancillary State Register instructions are used, then whether the I/O
registers can be accessed outside of supervisor code or not depends on the implementation.
Drivers and hardware supported
For more product support information, see the HP ProLiant Server Support website and the HP
StorageWorks for Sun Solaris® website.
Database migration
Database backup (Oracle databases)
Oracle provides several methods which one can use to perform logical database backup and
recovery. The common utilities used are the import and export tools. They are mostly used to move
schema definitions and data between different Oracle instances and users.
The export/import utilities are commonly used to perform the following tasks:
• Backup and recovery (small databases only, < +50GB, if bigger, use RMAN instead)
• Move data between Oracle databases on different platforms (for example from SPARC to x86)
• Reorganization of data/ eliminate database fragmentation (export, drop, and re-import tables)
• Upgrade databases from extremely old versions of Oracle (when in-place upgrades are not
supported by the Database Upgrade Assistant anymore)
• Detect database corruption. Ensure that all the data can be read.
• Transporting tablespaces between databases
For copying database back to target machine
• The schemas should be exported using the exp utility using the ROWS=N parameter. During this
stage all the objects which are non-data, such as PL/SQL, Sequences, Views, Table definitions,
Object privileges, and more are exported. There is one such exp file per each schema exported.
21