Conformance Statement














Conformance Statement

Product Standard: PSE52 Realtime Controller 1003.13-2003 System

[Note to submitter: This form contains a series of questions that need to be answered. Please complete all the fields in the questionnaire below to produce a conformance statement for your product. This should be submitted as part of product registration within the web certification system. See the Guide to POSIX Certification for more information. Please note that this conformance statement will appear on the public register of certified products.]

Enter the name of the Organization that produced the implementation and the name of the author of the Conformance Statement.

Organization

Wind River Systems, Inc.

Author

Pierre-Alain Darlet


1. PSE52 Realtime Controller 1003.13-2003 System

Product Information

Enter the product name, version/release number, and product supplier for each product required to meet the conformance requirements. If more than one product is required, please list the additional products, and extend the table if necessary.

Product Identification

Version/Release Number

Product Supplier

VxWorks

6.4

Wind River Systems, Inc.

Environment Specification

Product registration applies to software products operating in a specific hardware or hardware/software environment.
A product may be registered either as a single product, known as Platform Specific Certification, or as a family of binary-compatible products, known as Product Family Certification.

Enter the level of Certification, either "Platform Specific Certification" or "Product Family Certification". If Product Family Certification then enter a full description below of the binary-compatible family

Level of Certification

Binary-compatible Family

Platform Specific Certification

 

Enter the precise hardware/software environment(s) tested and test suite and version number. If Product Family Certification then two testing environments should be entered below.

Testing Environment

Indicator of Compliance Details

VxWorks 6.4's Real Time Process environment , on a Motorola MVME5500 board equipped with a PowerPC 7455 processor.

Test Suite Name: VSPSE52-2003  
Test Suite Version: 1.0
Comprising: VSXgen 3.4, VSX 4.6.6, VSRT 5.3.6, VSTH 5.4.5


1. POSIX Conformance Document

Question PCD-1: How can a copy of the POSIX Conformance Document for this product be obtained?

Response

Provide a description of how the POSIX Conformance Document for this product can be obtained.


Contact Paul Chen at Wind River Systems: paul.chen@windriver.com, 510-749-4486

Rationale

Implementations claiming conformance to IEEE Std 1003.13-2003 are required to create a conformance document or to cite a reference to an existing conformance document for IEEE Std 1003.1.

Reference

IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, Issue 6, Section 2.1 Implementation Conformance, Section 2.1.2 Documentation.

IEEE Std 1003.13-2003, Section 5: Conformance.


2. System Interfaces

2.1 System Interfaces, General Attributes

2.1.1 System Interfaces, Supported Features

Question SI-1: Are the required features below supported for all system configurations?

Response

Where indicated in the following table, enter one of the options given (either "Yes" or "Variable"). Enter "Variable" if there are system dependent or file_system dependent configuration procedures that can remove or modify any or all of these features.

Macro Name

Meaning

Provided

_POSIX_NO_TRUNC

Pathname components longer than {NAME_MAX) generate an error.

Yes

 

If the above is Variable, describe in the area below the manner in which variations occur.



Rationale

Although all implementations conforming to IEEE Std 1003.1-2001 support the features described above, there may be system-dependent or file system-dependent configuration procedures that can remove or modify any or all of these features. Such configurations should not be made if strict compliance is required.

Reference

IEEE Std 1003.1, 2003 Edition, Section 2.1.3, POSIX Conformance.


2.1.2 System Interfaces, Optional Features

Question SI-2: Which options from the PSE52-2003 Product Standard does this implementation claim support for?

Response

Where indicated in the following table, for the options given answer either "Yes" or "No".

Option

Provided

_POSIX_TRACE

Yes

_POSIX_TRACE_EVENT_LOG

Yes

_POSIX_TRACE_LOG

Yes

POSIX 1003.26-2003

Yes

POSIX.5c Interfaces (Ada Language Option)

No

Rationale

These features are optional in the PSE52 Realtime Controller 1003.13TM-2003 System Product Standard.

Reference

PSE52 Realtime Controller 1003.13TM-2003 System Product Standard

Question SI-3: Which POSIX.1 options and POSIX.13 units of functionality not mandated by this product standard does the system claim support for?

Response

Provide a list of the POSIX.1 options and POSIX.13 units of functionality supported by the implementation that are not required by this product standard. Examples are values from <unistd.h> such as _POSIX_ADVISORY_INFO and units of functionality from 1003.13 section 1.4, for example POSIX_NETWORKING


_POSIX_ASYNCHRONOUS_IO (POSIX.1)
_POSIX_MEMORY_PROTECTION (POSIX.1)
POSIX_NETWORKING (POSIX.13)
POSIX_SIGNAL_JUMP (POSIX.13)

Rationale

It is optional whether an implementation claims support for the features associated with these options. This is useful information for procurers and application writers.

Reference

PSE52 Realtime Controller 1003.13-2003 System Product Standard.


2.1.3 Float, Stdio, and Limit Values

Question SI-4: What are the values associated with the following constants specified in the <float.h> header file?

Response

Macro Name

Meaning

Value

FLT_RADIX

Radix of the exponent representation.

2

FLT_MANT_DIG

Number of base-FLT_RADIX digits in the float significand.

24

DBL_MANT_DIG

Number of base-FLT_RADIX digits in the double significand.

53

LDBL_MANT_DIG

Number of base-FLT_RADIX digits in the long double significand.

53

FLT_DIG

Number of decimal digits, q, such that any floating-point number with q digits can be rounded into a float representation and back again without change to the q digits.

6

DBL_DIG

Number of decimal digits, q, such that any floating-point number with q digits can be rounded into a double representation and back again without change to the q digits.

15

LDBL_DIG

Number of decimal digits, q, such that any floating-point number with q digits can be rounded into a long double representation and back again without change to the q digits.

15

FLT_MIN_EXP

Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised float.

-125

DBL_MIN_EXP

Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised double.

-1021

LDBL_MIN_EXP

Minimum negative integer such that FLT_RADIX raised to that power minus 1 is a normalised long double.

-1021

FLT_MIN_10_EXP

Minimum negative integer such that 10 raised to that power is in the range of normalised floats.

-37

DBL_MIN_10_EXP

Minimum negative integer such that 10 raised to that power is in the range of normalised doubles.

-307

LDBL_MIN_10_EXP

Minimum negative integer such that 10 raised to that power is in the range of normalised long doubles.

-307

FLT_MAX_EXP

Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite float.

128

DBL_MAX_EXP

Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite double.

1024

LDBL_MAX_EXP

Maximum integer such that FLT_RADIX raised to that power minus 1 is a representable finite long double.

1024

FLT_MAX_10_EXP

Maximum integer such that 10 raised to that power is in the range of representable finite floats.

38

DBL_MAX_10_EXP

Maximum integer such that 10 raised to that power is in the range of representable finite doubles.

308

LDBL_MAX_10_EXP

Maximum integer such that 10 raised to that power is in the range of representable finite long doubles.

308

FLT_MAX

Maximum representable finite float.

3.40282347E38

DBL_MAX

Maximum representable finite double.

1.7976931348623157E308

LDBL_MAX

Maximum representable finite long double.

1.7976931348623157E308

FLT_EPSILON

Difference between 1.0 and the least value greater than 1.0 that is representable as a float.

1.19209290E-07

DBL_EPSILON

Difference between 1.0 and the least value greater than 1.0 that is representable as a double.

2.2204460492503131E-16

LDBL_EPSILON

Difference between 1.0 and the least value greater than 1.0 that is representable as a long double.

2.2204460492503131E-16

FLT_MIN

Minimum normalised positive float.

1.17549435E-38

DBL_MIN

Minimum normalised positive double.

2.2250738585072016E-308

LDBL_MIN

Minimum normalised positive long double.

2.2250738585072016E-308

Rationale

This set of constants provides useful information regarding the underlying architecture of the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <float.h>.


Question SI-5: What are the values associated with the following constants (optionally specified in the <limits.h> header file)?

Response

For the lines in the table below, add the minimum and maximum values for your implementation. This value may be stated to be "Unlimited" if your implementation does not impose a limit. The minimum should be the smallest value that is returned from sysconf() or pathconf(), or as defined in <limits.h>. The maximum value should be the largest value that is returned from sysconf() or pathconf().

Macro Name

Meaning

Minimum

Maximum

DELAYTIMER_MAX

Maximum number of timer expiration overruns.

32

32

FILESIZEBITS

Minimum number of bits needed to represent as a signed integer value the maximum size of a regular file.

63

63

LINK_MAX

Maximum number of links to a single file.

65535

65535

MQ_OPEN_MAX

The maximum number of open message queue descriptors a process may hold.

No defined maximum

No defined maximum

MQ_PRIO_MAX

The maximum number of message priorities supported by the implementation.

No defined maximum

No defined maximum

NAME_MAX

Maximum number of bytes in a filename (not including terminating null).

255

255

OPEN_MAX

Maximum number of open files that one process can have open at any one time.

20

20

PAGESIZE

Size of a page in bytes.

4096 (PPC architecture)

4096 (PPC architecture)

PATH_MAX

Maximum number of bytes in a pathname (including the terminating null).

1024

1024

PTHREAD_DESTRUCTOR_ITERATIONS

Maximum number of attempts made to destroy a thread's thread-specific data values on thread exit.

4

4

PTHREAD_KEYS_MAX

Maximum number of data keys that can be created by a process.

256

256

PTHREAD_STACK_MIN

Minimum size in bytes of thread stack storage.

4096

4096

PTHREAD_THREADS_MAX

Maximum number of threads that can be created per process.

No defined maximum

No defined maximum

RTSIG_MAX

Maximum number of realtime signals reserved for application use in this implementation.

16

16

SEM_NSEMS_MAX

Maximum number of semaphores that a process may have.

No defined maximum

No defined maximum

SEM_VALUE_MAX

The maximum value a semaphore may have.

32767

32767

SIGQUEUE_MAX

Maximum number of queued signals that a process may send and have pending at the receiver(s) at any time.

32

32

SS_REPL_MAX

The maximum number of replenishment operations that may be simultaneously pending for a particular sporadic server scheduler.

No defined maximum

No defined maximum

STREAM_MAX

Number of streams that one process can have open at one time.

20

20

TIMER_MAX

Maximum number of timers per process supported by the implementation.

No defined maximum

No defined maximum

TRACE_EVENT_NAME_MAX

Maximum length of the trace event name.

64

64

TRACE_NAME_MAX

Maximum length of the trace generation version string or of the trace stream name.

8

8

TRACE_SYS_MAX

Maximum number of trace streams that may simultaneously exist in the system.

No defined maximum

No defined maximum

TRACE_USER_EVENT_MAX

Maximum number of user trace event type identifiers that may simultaneously exist in a traced process, including the predefined user trace event POSIX_TRACE_UNNAMED_USER_EVENT.

256

256

TZNAME_MAX

Maximum number of bytes supported for the name of a time zone.

6

6

Rationale

Each of these limits can vary within bounds set by the Base Definitions Volume. Except as noted below the minimum permitted value is specified in Chapter 13, <limits.h>.

IEEE Std 1003.13-2003 Chapter 7 states that the value of TIMER_MAX shall be at least 64, and the value of RTSIG_MAX shall be at least 16.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <limits.h>.

IEEE Std 1003.13, 2003 Edition, Section 7, Realtime Controller System Profile (PSE52).


Question SI-6: What are the values associated with the following numerical constants specified in the <limits.h> header file?

Response

Macro Name

Meaning

Value

CHAR_MAX

Maximum value of a char.

255

INT_MAX

Maximum value of an int.

2147483647

LONG_MAX

Maximum value of a long int.

2147483647L

LLONG_MAX

Maximum value of a long long.

9223372036854775807LL

SHRT_MAX

Maximum value of a short.

32767

SSIZE_MAX

Maximum value of an object of type ssize_t.

2147483647

UINT_MAX

Maximum value of an unsigned int.

4294967295

ULONG_MAX

Maximum value of an unsigned long int.

4294967295

ULLONG_MAX

Maximum value of a unigsned long long.

18446744073709551615ULL

USHRT_MAX

Maximum value of an unsigned short int.

65535

Rationale

This set of constants provides useful information regarding the underlying architecture of the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <limits.h>.


Question SI-7: What are the values associated with the following numerical constants specified in the <stdio.h> header file?

Response

Macro Name

Meaning

Value

FILENAME_MAX

Maximum size in bytes of the longest filename string that the implementation guarantees can be opened.

256

FOPEN_MAX

Number of streams which the implementation guarantees can be open simultaneously.

20

L_tmpnam

Maximum size of character array to hold tmpnam() output.

16

TMP_MAX

Minimum number of unique filenames generated by tmpnam(), which is the maximum number of times an application can call tmpnam() reliably.

32

Rationale

This set of constants provides useful information about the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <stdio.h>.


2.1.4 Error Conditions

Question SI-8: Which of the following option errors, ( denoted by "may fail" within the specification ), listed in the System Interfaces Volume are detected in the circumstances specified?

Response

Enter Yes or No. For functions marked with an asterix, there are additional family members with the suffices, f and l.If you do not support POSIX tracing, then answer No for those functions. If the error handling is different for those please add details in the Appendix at the end of this questionnaire.

Function

Error

Detected

access()

EINVAL

No

ENAMETOOLONG

Yes

ETXTBSY

No

chdir()

ENAMETOOLONG

Yes

ELOOP

No

clock_settime()

EPERM

Yes

close()

EIO

Yes

closedir()

EBADF

Yes

EINTR

No

erfc() *

Range Error

No

exp() *

Range Error

Yes

exp2() *

Range Error

Yes

expm1() *

Range Error

Yes

fchdir()

EINTR

No

EIO

No

fclose()

ENXIO

No

fcntl()

EDEADLK

Yes

fdim() *

Range Error

No

fdopen()

EBADF

Yes

EINVAL

No

EMFILE

Yes

ENOMEM

Yes

fflush()

ENXIO

No

fgetc()

ENOMEM

Yes

ENXIO

No

fgetpos()

EBADF

Yes

ESPIPE

No

fgetwc()

ENOMEM

Yes

ENXIO

No

fileno()

EBADF

No

fmod() *

Range Error

Yes

fopen()

EINVAL

Yes

ELOOP

No

EMFILE

Yes

ENAMETOOLONG

Yes

ENOMEN

Yes

ETXTBSY

No

fpathconf()

EBADF

Yes

EINVAL

Yes

fputc()

ENOMEM

Yes

ENXIO

No

fread()

ENOMEM

Yes

ENXIO

No

freopen()

EINVAL

Yes

ELOOP

No

ENAMETOOLONG

Yes

ENOMEM

Yes

ENXIO

No

ETXTBSY

No

fscanf()

ENOMEM

Yes

ENXIO

No

fstat()

EOVERFLOW

No

ftell()

ESPIPE

No

getcwd()

EACCES

No

ENOMEM

No

ldexp() *

Range Error

Yes

link()

ELOOP

No

ENAMETOOLONG

Yes

mkdir()

ELOOP

No

ENAMETOOLONG

Yes

mktime()

EOVERFLOW

No

mlock()

EINVAL

No

ENOMEM

Yes

munlock()

EINVAL

No

mlockall()

ENOMEM

No

ENOPERM

No

mq_getattr()

EBADF

Yes

mq_receive()

EBADF

Yes

mq_timedreceive()

EBADF

Yes

open()

EAGAIN

Yes

EINVAL

Yes

ELOOP

No

ENAMETOOLONG

Yes

ETXTBSY

No

opendir()

ELOOP

No

EMFILE

Yes

ENAMETOOLONG

Yes

ENFILE

Yes

pathconf()

EACCES

Yes

EINVAL

Yes

ELOOP

No

ENAMETOOLONG

Yes

ENOENT

Yes

ENOTDIR

No

posix_trace_attr_destroy()

EINVAL

Yes

posix_trace_attr_getclockres()

EINVAL

Yes

posix_trace_attr_getcreatetime()

EINVAL

Yes

posix_trace_attr_getgenversion()

EINVAL

Yes

posix_trace_attr_getname()

EINVAL

Yes

posix_trace_attr_getinherited()

EINVAL

UNSUPPORTED (Not PSE52)

posix_trace_attr_getlogfullpolicy()

EINVAL

Yes

posix_trace_attr_getstreamfullpolicy()

EINVAL

Yes

posix_trace_attr_setinherited()

EINVAL

UNSUPPORTED (Not PSE52)

posix_trace_attr_setlogfullpolicy()

EINVAL

Yes

posix_trace_attr_setstreamfullpolicy()

EINVAL

Yes

posix_trace_attr_getlogsize()

EINVAL

Yes

posix_trace_attr_getmaxdatasize()

EINVAL

Yes

posix_trace_attr_getmaxsystemeventsize()

EINVAL

Yes

posix_trace_attr_getmaxusereventsize()

EINVAL

Yes

posix_trace_attr_getstreamsize()

EINVAL

Yes

posix_trace_attr_setlogsize()

EINVAL

Yes

posix_trace_attr_setstreamsize()

EINVAL

Yes

posix_trace_close()

EINVAL

Yes

posix_trace_rewind()

EINVAL

Yes

posix_trace_eventset_add()

EINVAL

Yes

posix_trace_eventset_del()

EINVAL

Yes

posix_trace_eventset_empty()

EINVAL

Yes

posix_trace_eventset_fill()

EINVAL

Yes

posix_trace_eventset_ismember()

EINVAL

Yes

pow() *

Range Error

Yes

pthread_attr_destroy()

EINVAL

Yes

pthread_attr_init()

EBUSY

No

pthread_attr_getdetachstate()

EINVAL

Yes

pthread_attr_setdetachstate()

EINVAL

Yes

pthread_attr_getguardsize()

EINVAL

Yes

pthread_attr_setguardsize()

EINVAL

Yes

pthread_attr_getinheritsched()

EINVAL

Yes

pthread_attr_setinheritsched()

EINVAL

Yes

ENOSUP

No

pthread_attr_getschedparam()

EINVAL

Yes

pthread_attr_setschedparam()

EINVAL

Yes

ENOSUP

No

pthread_attr_getschedpolicy()

EINVAL

Yes

pthread_attr_setschedpolicy()

EINVAL

Yes

ENOSUP

Yes

pthread_attr_getscope()

EINVAL

Yes

pthread_attr_setscope()

EINVAL

Yes

ENOSUP

Yes

pthread_attr_getstack()

EINVAL

Yes

pthread_attr_setstack()

EINVAL

Yes

EBUSY

No

pthread_attr_getstackaddr()

EINVAL

Yes

pthread_attr_setstackaddr()

EINVAL

Yes

pthread_attr_getstacksize()

EINVAL

Yes

pthread_attr_setstacksize()

EINVAL

Yes

pthread_cancel()

ESRCH

Yes

pthread_cond_broadcast()

EINVAL

Yes

pthread_cond_signal()

EINVAL

Yes

pthread_cond_destroy()

EBUSY

Yes

EINVAL

Yes

pthread_cond_init()

EBUSY

No

EINVAL

Yes

pthread_cond_timedwait()

EINVAL

Yes

EPERM

Yes

pthread_cond_wait()

EINVAL

Yes

EPERM

Yes

pthread_condattr_destroy()

EINVAL

Yes

pthread_condattr_getclock()

EINVAL

Yes

pthread_condattr_setclock()

EINVAL

Yes

pthread_condattr_getpshared()

EINVAL

UNSUPPORTED (Not PSE52)

pthread_condattr_setpshared()

EINVAL

UNSUPPORTED (Not PSE52)

pthread_create()

EINVAL

Yes

pthread_detach()

EINVAL

Yes

ESRCH

Yes

pthread_getcpuclockid()

ESRCH

Yes

pthread_getschedparam()

ESRCH

Yes

pthread_setschedparam()

EINVAL

Yes

ENOTSUP

No

EPERM

No

ESRCH

Yes

pthread_setspecific()

ESRCH

No

pthread_join()

EDEADLK

Yes

EINVAL

Yes

pthread_keydelete()

EINVAL

Yes

pthread_mutex_destroy()

EBUSY

Yes

EINVAL

Yes

pthread_mutex_init()

EBUSY

No

EINVAL

Yes

pthread_mutex_lock()

EINVAL

Yes

EDEADLK

No

pthread_mutex_trylock()

EINVAL

Yes

pthread_mutex_unlock()

EINVAL

Yes

EPERM

Yes

pthread_mutex_timedlock()

EINVAL

Yes

EDEADLK

No

pthread_mutexattr_destroy()

EINVAL

Yes

pthread_mutexattr_getprioceiling()

EINVAL

Yes

EPERM

No

pthread_mutexattr_setprioceiling()

EINVAL

Yes

EPERM

No

pthread_mutexattr_getprotocol()

EINVAL

Yes

EPERM

No

pthread_mutexattr_setprotocol()

EINVAL

Yes

EPERM

No

pthread_mutexattr_getpshared()

EINVAL

UNSUPPORTED (Not PSE52)

pthread_mutexattr_setpshared()

EINVAL

UNSUPPORTED (Not PSE52)

pthread_mutexattr_gettype()

EINVAL

Yes

pthread_mutexattr_settype()

EINVAL

Yes

pthread_once()

EINVAL

Yes

pthread_setcancelstate()

EINVAL

Yes

pthread_setcanceltype()

EINVAL

Yes

pthread_schedprio()

EINVAL

Yes

ENOTSUP

No

EPERM

No

ESRCH

Yes

putc()

ENOMEM

Yes

ENXIO

No

putchar()

ENOMEM

Yes

ENXIO

No

puts()

ENOMEM

Yes

ENXIO

No

read()

EIO

Yes

ENOBUFS

No

ENOMEM

No

ENXIO

No

readdir()

EBADF

Yes

ENOENT

Yes

remove()

EBUSY

Yes

ELOOP

No

ENAMETOOLONG

Yes

ETXTBSY

No

rename()

ELOOP

No

ENAMETOOLONG

Yes

ETXTBSY

Yes

rmdir()

ELOOP

No

ENAMETOOLONG

Yes

sem_close()

EINVAL

Yes

sem_destroy()

EINVAL

Yes

EBUSY

Yes

sem_getvalue()

EINVAL

Yes

sem_post()

EINVAL

Yes

sem_timedwait()

EDEADLK

No

EINTR

Yes

EINVAL

Yes

sem_trywait()

EDEADLK

No

EINTR

No

EINVAL

Yes

sem_wait()

EDEADLK

No

EINTR

Yes

EINVAL

Yes

setvbuf()

EBADF

No

sigaction()

EINVAL

Yes

sigaddset()

EINVAL

Yes

sigdelset()

EINVAL

Yes

sigismember()

EINVAL

Yes

signal()

EINVAL

Yes

sigtimedwait()

EINVAL

Yes

sigwait()

EINVAL

Yes

sigwaitinfo()

EINVAL

Yes

stat()

ELOOP

No

ENAMETOOLONG

Yes

EOVERFLOW

No

strcoll()

EINVAL

No

strerror()

EINVAL

No

strerror_r()

ERANGE

No

strtod()

EINVAL

No

strtoimax()

EINVAL

No

strtol()

EINVAL

No

strtoul()

EINVAL

No

strtoumax()

EINVAL

No

strxfrm()

EINVAL

No

timer_delete()

EINVAL

Yes

timer_getoverrun()

EINVAL

Yes

timer_gettime()

EINVAL

Yes

timer_settime()

EINVAL

Yes

tmpfile()

EMFILE

Yes

ENOMEM

Yes

unlink()

ELOOP

No

ENAMETOOLONG

Yes

ETXTBSY

No

utime()

ELOOP

No

ENAMETOOLONG

Yes

vfscanf()

EILSEQ

Yes

EINVAL

No

ENOMEM

Yes

ENXIO

No

write()

ENETDOWN

No

ENETUNREACH

No

ENXIO

Yes

Rationale

Each of the above error conditions is marked as optional in the System Interfaces Volume and an implementation may return this error in the circumstances specified or may not provide the error indication.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Section 2.3, Error Numbers.


2.1.5 Mathematical Interfaces

Question SI-9: What format of floating-point numbers is supported by this implementation?

Response

Provide a description of the floating-point format used by your implementation.


The floating point implementation follows the ANSI/IEEE Standard 754/1985 for all architectures except on IA32 where doubles are 80 bits long.

Rationale

Most implementations support IEEE floating-point format either in hardware or software. Some implementations support other formats with different exponent and mantissa accuracy. These differences need to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Section 1.7, Relationship to Other Formal Standards.


Question SI-10: Which floating-point exceptions are supported by this implementation for the fegetexecptflag(), feraiseexcept(), fesetexecptflag(), and fetestexecptflag() functions?

Response

Provide a list of the floating-point exceptions using the constant names in the <fenv.h> header.


FE_DIVBYZERO
FE_INEXACT
FE_INVALID
FE_OVERFLOW
FE_UNDERFLOW

Rationale

The behavior of a conforming implementation in this area is not mandated in the specification and needs to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <fenv.h>.


Question SI-11: Which floating-point rounding directions are supported by this implementation for the fegetround(), and fesetround() functions?

Response

Provide a list of the floating-point round modes using the constant names in the <fenv.h> header.


FE_DOWNWARD
FE_TONEAREST
FE_TOWARDZERO
FE_UPWARD

Rationale

The behavior of a conforming implementation in this area is not mandated in the specification and needs to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <fenv.h>.


Question SI-12: Is a non-stop floating-point exception mode supported by this implementation?

Response

Yes

Rationale

The behavior of a conforming implementation in this area is not mandated in the specification and needs to be defined.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 3, System Interfaces, feholdexcept().


2.3 File Handling

2.3.1 Access Control

Question SI-13: What file access control mechanisms does the implementation provide?

Response

Either indicate that "Standard access control is provided.", that the reader should "Refer to the POSIX Conformance Document", or provide a detailed description of the access control mechanisms on your implementation.


Standard access control is provided. Refer to the POSIX Conformance Document.

Rationale

the System Interfaces Volume notes that implementations may provide additional or alternate file access control mechanisms, or both.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 4, General Concepts, Section 4.4, File Access Permissions.


2.3.2 Files and Directories

Question SI-14: Are any additional or alternate file access control mechanisms implemented that could cause fstat() or stat() to fail?

Response

No

If you answered Yes above, Either indicate below that the reader should "Refer to the POSIX Conformance Document", or provide a detailed description of the additional or alternate access mechanisms on your implementation that would cause fstat() or stat() to fail.


N/A

Rationale

the System Interfaces Volume notes that there could be an interaction between additional and alternate access controls and the success of fstat() and stat(). This would suggest that an implementation can allow access to a file but not allow the process to gain information about the status of the file.

Reference

IEEE Std 1003.1, 2003 Edition, the System Interfaces Volume, Chapter 3, System Interfaces, fstat() and stat().


2.4 Internationalized System Interfaces

2.4.1 Coded Character Sets

Question SI-15: What coded character sets are supported by the implementation?

Response

Enter your response in the area below:


The portable character set is supported.

Rationale

The Base Definitions Volume states that conforming implementations support one or more coded character sets, and that each of these includes the portable character set.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 6, Character Set.


Question SI-16: What is the implementation's underlying internal codeset?

Response

If the implementation does not use ISO 8859-1:1987, provide the name or description of the underlying codeset. If the implementation does use ISO 8859-1:1987, just enter "ISO 8859-1:1987" below.


 Only the ISO/IEC 646:1991 standard is supported.

Rationale

It is useful to be aware of the underlying codeset of the implementation.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 6, Character Set.


2.5 Threads

2.5.1 Cancellation Points

Question SI-17: Which functions have cancellation points that occur when a thread is executing?

Response

There are many functions which may have a cancellation point listed in System Interfaces, Section 2.9.5.2. List below the functions which have cancellation points in your implementation.


aio_suspend()
clock_nanosleep()
creat()
open()
read()
write()
close()
fcntl()
fsync()
fdatasync()
mq_receive()
mq_send()
mq_timedreceive()
mq_timedsend()
msync()
pthread_cond_timedwait()
pthread_cond_wait()
pthread_join()
pthread_testcancel()
sem_timedwait()
sem_wait()
pause()
sigsuspend()
sigtimedwait()
sigwait()
sigwaitinfo()
waitpid()
sleep()
nanosleep()

Rationale

IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, states that a cancellation point may occur for these functions.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.9.5.2, Cancellation Points.


2.6 Realtime

2.6.1 Prioritized I/O

Question SI-18: Which file types does the implementation support _POSIX_PRIORITIZED_IO on?

Response

List below the file types that the system supports _POSIX_PRIORITIZED_IO on


UNSUPPORTED (not PSE52)

Rationale

Reference

Technical Standard, IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, Section 2.1.5.2 IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.8


2.7 Realtime Threads

2.7.1 Scheduling Policies

Question SI-19: What scheduling policy is associated with SCHED_OTHER?

Response

Describe the scheduling policy provided by the implementation when SCHED_OTHER is requested. If this policy executes identically with SCHED_FIFO or SCHED_RR, this should be indicated. Otherwise a complete description must be provided, including the scheduling parameters used with pthread_getschedparam() and pthread_setschedparam(), or a reference to available system documentation.


The SCHED_OTHER policy is associated with the currently active VxWorks native scheduling policy, which can be either a priority-based preemptive scheduling policy or a priority-based round-robin scheduling policy. These native scheduling policies are described in the Multitasking chapter of the VxWorks Kernel Programmer's Guide. The scheduling parameters used with pthread_getschedparam() and pthread_setschedparam() are the thread's priority (0 to 255) and the members used for the SCHED_SPORADIC policy: sched_ss_low_priority, sched_ss_repl_period, sched_ss_init_budget, sched_ss_max_repl.

Rationale

IEEE Std 1003.1, 2003 Edition, Base Definitions Volume, states that conforming implementations must support a scheduling policy identified as SCHED_OTHER but define its effects as implementation-defined.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.8.4, Scheduling Policies.

2.7.2 Scheduling Contention Scope

Question SI-20: What scheduling contention scopes are supported: PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM, or both?

Response

Enter below PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM or both PTHREAD_SCOPE_PROCESS and PTHREAD_SCOPE_SYSTEM.


PTHREAD_SCOPE_SYSTEM

Rationale

System Interfaces, Issue 6 states that conforming implementations will support PTHREAD_SCOPE_PROCESS, PTHREAD_SCOPE_SYSTEM, or both.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.9.4, Thread Scheduling Contention Scope.

2.7.3 Default Scheduling Contention Scope

Question SI-21: What is the default scheduling contention scope when a thread is created?

Response

State below either PTHREAD_SCOPE_PROCESS or PTHREAD_SCOPE_SYSTEM.


PTHREAD_SCOPE_SYSTEM

Rationale

The specification defines the default scheduling contention scope as implementation-defined.

Reference

IEEE Std 1003.1, 2003 Edition, System Interfaces Volume, Section 2.9.4, Thread Scheduling Attributes.

2.7.4 Scheduling Allocation Domain

Question SI-22: What is the mechanism to configure the system so that the scheduling allocation domain has size one, so that the binding of threads to scheduling allocation domains remains static?

Response

Enter a response below


VxWorks supports only one scheduling allocation domain so there is no configuration mechanism required for this.

Rationale

An implementation conforming to PSE52 shall provide a mechanism to configure the system so that the scheduling allocation domain has size one, and so that the binding of threads to scheduling allocation domains remains static. The mechanism by which this requirement is achieved shall be implementation defined.

Reference

IEEE Std 1003.13, 2003 Edition, Section 7, Realtime Controller System Profile (PSE52).


2.9 C-language Compilation Environment

Question SI-23: What C-language compilation environments are provided?

Response

Programming Environment

Provided

The implementation provides a C-language compilation environment with
32-bit int, long, pointer and off_t types.

No

The implementation provides a C-language compilation environment with
32-bit int, long and pointer types and an off_t type using at least 64 bits.

Yes

The implementation provides a C-language compilation environment with
32-bit int, and 64-bit long, pointer and off_t types.

No

The implementation provides a C-language compilation environment with
int using at least 32-bits, and long, pointer and off_t types using at least 64 bits.

Yes

Rationale

The Base Definitions Volume defines these scenarios as possible C-language compilation environment offerings.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <unistd.h>.


Question SI-24: What execution environments are provided on the system under test?

Response

Execution Environment

Provided

The implementation provides an execution environment with
32-bit int, long, pointer and off_t types.

No

The implementation provides an execution environment with
32-bit int, long and pointer types and an off_t type using at least 64 bits.

Yes

The implementation provides an execution environment with
32-bit int, and 64-bit long, pointer and off_t types.

No

The implementation provides an execution environment with
int using at least 32-bits, and long, pointer and off_t types using at least 64 bits.

No

Rationale

The Base Definitions Volume defines four scenarios as possible C-language compilation environment offerings but does not define which corresponding execution environments are supported.

Reference

IEEE Std 1003.1, 2003 Edition, The Base Definitions Volume, Chapter 13, Headers, <unistd.h>.


Question SI-25: What is the largest type that can be stored in type off_t ?

Response


long long

Rationale

The type off_t shall be capable of storing any value contained in type long.

Reference

IEEE Std 1003.13-2003, Section 9.2.1 POSIX.1 Interfaces (C Language Option).


3. Appendix

This appendix contains additional, explanatory material that was provided by the vendor. This should include any setup required to define a conforming environment on the system.

 

The POSIX tests must be executed against a standardized target configuration. The target must have support for, among other things, a VxWorks ROMFS file system and a RAM disk formatted with HRFS. The various composition elements are as follows:

Bundles:

    BUNDLE_STANDALONE_SHELL
    BUNDLE_
RTP_DEVELOP
    BUNDLE_EDR
    BUNDLE_
RTP_POSIX_PSE52

    vxprj bundle add BUNDLE_STANDALONE_SHELL BUNDLE_
RTP_DEVELOP BUNDLE_EDR BUNDLE_RTP_POSIX_PSE52

Individual components:

    INCLUDE_XBD_RAMDRV
    INCLUDE_
RAM_DISK
    INCLUDE_ROMFS
    INCLUDE_STARTUP_SCRIPT

    vxprj component add INCLUDE_XBD_RAMDRV INCLUDE_
RAM_DISK INCLUDE_ROMFS INCLUDE_STARTUP_SCRIPT

    INCLUDE_WDB_
COMM_END (VxWorks Simulator only)

    vxprj component add INCLUDE_WDB_
COMM_END

Parameter string:

    SHELL_DEFAULT_CONFIG "INTERPRETER=Cmd,LINE_EDIT_MODE=emacs,LINE_LENGTH=256,STRING_FREE=manual,VXE_PATH=.;/romfs"

    vxprj parameter setstring SHELL_DEFAULT_CONFIG "INTERPRETER=Cmd,LINE_EDIT_MODE=emacs,LINE_LENGTH=256,STRING_FREE=manual,VXE_PATH=.;/romfs"

Parameter values:

   
RAM_DISK_SIZE 0x100000
    HRFS_DEFAULT_
MAX_FILES 20

    vxprj parameter set
RAM_DISK_SIZE 0x100000
    vxprj parameter set HRFS_DEFAULT_
MAX_FILES 20

    WDB_STACK_SIZE 0x2000 (SuperH, Pentium and ColdFire architectures only)

    vxprj parameter set WDB_STACK_SIZE 0x2000

ROMFS directory:

    The project must hold a "romfs" directory (empty) and be built as follows:

    make ROMFS_DIR=./romfs

or

    vxprj buildmacro add ROMFS_DIR
    vxprj buildmacro set ROMFS_DIR ./romfs

Required Execution Environment Elements

Once the board has booted, the
RAM disk must be formatted with the HRFS file system as follows:

    hrfsDiskFormat "/ram0", 1000

Also, a file named vsrt_sio_file must be created on /ram0. This can be done as follows:
 
    fd = creat ("/ram0/vsrt_sio_file", 0666)
    write (fd, "word", 4)
    close (fd)

Finally a 'tmp' directory must appear on the VRFS file system. A "/tmp"
RAM disk device must be created and formatted as an HRFS file system:

    xbdRamDiskDevCreate (512, 0x10000, 0, "/tmp")
    hrfsDiskFormat "/tmp", 1000

 

 


4. Change History

Date

Name

Comment

New

 

 

 

 

 

 

 

 


Version 1.01 26 April 2006
 Copyright © 1998-2006 The Open Group. All Rights Reserved.  The Open Group and Boundaryless Information Flow are trademarks and UNIX is a registered trademark of The Open Group in the United States and other countries. POSIX is a registered trademark of the IEEE. All other trademarks are the property of their respective owners.