diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2011-09-02 23:23:23 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2011-09-12 10:43:19 -0500 |
commit | 2900cb906ec96134dba7c57c23b18e98cec215a7 (patch) | |
tree | f14f5a2d502d6a7e2626e50d91164437da5be5cd /src/lib | |
parent | 5365f3466347fbc5a05643df4d3302bf6bb89d94 (diff) | |
download | talos-hostboot-2900cb906ec96134dba7c57c23b18e98cec215a7.tar.gz talos-hostboot-2900cb906ec96134dba7c57c23b18e98cec215a7.zip |
Floating point support.
Change-Id: I859cac1c01bf631d12223702d68813b45339b65f
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/295
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/makefile | 2 | ||||
-rw-r--r-- | src/lib/math.C | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/src/lib/makefile b/src/lib/makefile index 5ad3dd0de..59a12b350 100644 --- a/src/lib/makefile +++ b/src/lib/makefile @@ -22,7 +22,7 @@ # IBM_PROLOG_END ROOTPATH = ../.. -OBJS = string.o stdlib.o assert.o stdio.o +OBJS = string.o stdlib.o assert.o stdio.o math.o OBJS += syscall_stub.o syscall_task.o syscall_msg.o OBJS += syscall_mmio.o syscall_time.o sync.o syscall_misc.o OBJS += syscall_mm.o cxxtest_data.o diff --git a/src/lib/math.C b/src/lib/math.C new file mode 100644 index 000000000..8958eebf5 --- /dev/null +++ b/src/lib/math.C @@ -0,0 +1,31 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/lib/math.C $ +// +// IBM CONFIDENTIAL +// +// COPYRIGHT International Business Machines Corp. 2011 +// +// p1 +// +// Object Code Only (OCO) source materials +// Licensed Internal Code Source Materials +// IBM HostBoot Licensed Internal Code +// +// The source code for this program is not published or other- +// wise divested of its trade secrets, irrespective of what has +// been deposited with the U.S. Copyright Office. +// +// Origin: 30 +// +// IBM_PROLOG_END +#include <math.h> + +double sqrt(double x) +{ + register double _x = x; + asm volatile("fsqrt %0, %1" : "=f" (_x) : "f" (_x)); + return _x; +} + |