- Timestamp:
- 09/12/14 11:31:50 (10 years ago)
- Branches:
- 4.11, 5, master
- Children:
- a8fa078
- Parents:
- f9eca790
- git-author:
- Sebastian Huber <sebastian.huber@…> (09/12/14 11:31:50)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (09/12/14 14:13:55)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/cpu_supplement/sparc.t
rf9eca790 r1434dbd6 215 215 @section Calling Conventions 216 216 217 218 Each high-level language compiler generates 219 subroutine entry and exit code based upon a set of rules known 220 as the compiler's calling convention. These rules address the 221 following issues: 217 Each high-level language compiler generates subroutine entry and exit code 218 based upon a set of rules known as the application binary interface (ABI) 219 calling convention. These rules address the following issues: 222 220 223 221 @itemize @bullet … … 229 227 @end itemize 230 228 231 A compiler's calling convention is of importance when 232 interfacing to subroutines written in another language either 233 assembly or high-level. Even when the high-level language and 234 target processor are the same, different compilers may use 235 different calling conventions. As a result, calling conventions 236 are both processor and compiler dependent. 229 An ABI calling convention is of importance when interfacing to subroutines 230 written in another language either assembly or high-level. It determines also 231 the set of registers to be saved or restored during a context switch and 232 interrupt processing. 233 234 The ABI relevant for RTEMS on SPARC is defined by SYSTEM V APPLICATION BINARY 235 INTERFACE, SPARC Processor Supplement, Third Edition. 237 236 238 237 @subsection Programming Model … … 568 567 restore instructions which manage the set of registers windows. 569 568 569 In case a floating-point unit is supported, then floating-point return values 570 appear in the floating-point registers. Single-precision values occupy %f0; 571 double-precision values occupy %f0 and %f1. Otherwise, these are scratch 572 registers. Due to this the hardware and software floating-point ABIs are 573 incompatible. 574 570 575 @subsection Calling Mechanism 571 576
Note: See TracChangeset
for help on using the changeset viewer.