요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
===============================================
Release notes for Linux Kernel VFP support code
===============================================
Date: 20 May 2004
Author: Russell King
This is the first release of the Linux Kernel VFP support code. It
provides support for the exceptions bounced from VFP hardware found
on ARM926EJ-S.
This release has been validated against the SoftFloat-2b library by
John R. Hauser using the TestFloat-2a test suite. Details of this
library and test suite can be found at:
http://www.jhauser.us/arithmetic/SoftFloat.html
The operations which have been tested with this package are:
- fdiv
- fsub
- fadd
- fmul
- fcmp
- fcmpe
- fcvtd
- fcvts
- fsito
- ftosi
- fsqrt
All the above pass softfloat tests with the following exceptions:
- fadd/fsub shows some differences in the handling of +0 / -0 results
when input operands differ in signs.
- the handling of underflow exceptions is slightly different. If a
result underflows before rounding, but becomes a normalised number
after rounding, we do not signal an underflow exception.
Other operations which have been tested by basic assembly-only tests
are:
- fcpy
- fabs
- fneg
- ftoui
- ftosiz
- ftouiz
The combination operations have not been tested:
- fmac
- fnmac
- fmsc
- fnmsc
- fnmul
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
첫 VFP 지원 릴리스
1-18날짜는 `20 May 2004`, 작성자는 Russell King입니다. 이 문서는 Linux Kernel VFP support code의 첫 릴리스 노트입니다.
이 릴리스는 ARM926EJ-S의 VFP hardware가 되돌려 보낸 exception을 처리합니다.
John R. Hauser의 SoftFloat-2b library와 TestFloat-2a test suite를 기준으로 검증했습니다. 라이브러리와 테스트 도구의 자세한 내용은 다음 링크에 있습니다.
SoftFloat로 검증한 연산
19-32이 패키지로 다음 연산을 시험했습니다.
- `fdiv`
- `fsub`
- `fadd`
- `fmul`
- `fcmp`
- `fcmpe`
- `fcvtd`
- `fcvts`
- `fsito`
- `ftosi`
- `fsqrt`
알려진 SoftFloat 차이
33-40위 연산은 다음 예외를 제외하면 SoftFloat test를 모두 통과합니다.
- `fadd`/`fsub`는 입력 operand의 부호가 다를 때 `+0`과 `-0` 결과 처리에서 일부 차이가 있습니다.
- Rounding 전에는 underflow였지만 rounding 후 normalized number가 되는 결과에는 underflow exception을 알리지 않습니다.
기본 assembly 시험 연산
41-50다음 연산은 기본 assembly-only test로 시험했습니다.
- `fcpy`
- `fabs`
- `fneg`
- `ftoui`
- `ftosiz`
- `ftouiz`
시험하지 않은 결합 연산
51-57다음 combination operation은 시험하지 않았습니다.
- `fmac`
- `fnmac`
- `fmsc`
- `fnmsc`
- `fnmul`
요약과 해설
release-notes.rst:1-57첫 VFP 지원은 핵심 산술·비교·변환·제곱근 연산을 SoftFloat로 검증했습니다. 0의 부호와 rounding 후 정상화되는 underflow 처리에는 차이가 있으며, 일부 이동·변환은 기본 assembly test만 거쳤고 multiply-accumulate 계열은 아직 시험하지 않았습니다.
연산군마다 적용된 검증 깊이가 다릅니다.