17e76048aSMarcel Moolenaar /* $NetBSD: fpu_extern.h,v 1.3 2005/12/11 12:18:42 christos Exp $ */ 27e76048aSMarcel Moolenaar /* $FreeBSD$ */ 37e76048aSMarcel Moolenaar 47e76048aSMarcel Moolenaar /*- 5*71e3c308SPedro F. Giffuni * SPDX-License-Identifier: BSD-2-Clause-NetBSD 6*71e3c308SPedro F. Giffuni * 77e76048aSMarcel Moolenaar * Copyright (c) 1995 The NetBSD Foundation, Inc. 87e76048aSMarcel Moolenaar * All rights reserved. 97e76048aSMarcel Moolenaar * 107e76048aSMarcel Moolenaar * This code is derived from software contributed to The NetBSD Foundation 117e76048aSMarcel Moolenaar * by Christos Zoulas. 127e76048aSMarcel Moolenaar * 137e76048aSMarcel Moolenaar * Redistribution and use in source and binary forms, with or without 147e76048aSMarcel Moolenaar * modification, are permitted provided that the following conditions 157e76048aSMarcel Moolenaar * are met: 167e76048aSMarcel Moolenaar * 1. Redistributions of source code must retain the above copyright 177e76048aSMarcel Moolenaar * notice, this list of conditions and the following disclaimer. 187e76048aSMarcel Moolenaar * 2. Redistributions in binary form must reproduce the above copyright 197e76048aSMarcel Moolenaar * notice, this list of conditions and the following disclaimer in the 207e76048aSMarcel Moolenaar * documentation and/or other materials provided with the distribution. 217e76048aSMarcel Moolenaar * 227e76048aSMarcel Moolenaar * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 237e76048aSMarcel Moolenaar * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 247e76048aSMarcel Moolenaar * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 257e76048aSMarcel Moolenaar * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 267e76048aSMarcel Moolenaar * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 277e76048aSMarcel Moolenaar * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 287e76048aSMarcel Moolenaar * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 297e76048aSMarcel Moolenaar * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 307e76048aSMarcel Moolenaar * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 317e76048aSMarcel Moolenaar * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 327e76048aSMarcel Moolenaar * POSSIBILITY OF SUCH DAMAGE. 337e76048aSMarcel Moolenaar */ 347e76048aSMarcel Moolenaar 357e76048aSMarcel Moolenaar struct proc; 3693312a91SJohn Baldwin struct fpu; 377e76048aSMarcel Moolenaar struct trapframe; 387e76048aSMarcel Moolenaar union instr; 397e76048aSMarcel Moolenaar struct fpemu; 407e76048aSMarcel Moolenaar struct fpn; 417e76048aSMarcel Moolenaar 427e76048aSMarcel Moolenaar /* fpu.c */ 4393312a91SJohn Baldwin int fpu_emulate(struct trapframe *, struct fpu *); 447e76048aSMarcel Moolenaar int fpu_execute(struct trapframe *, struct fpemu *, union instr *); 457e76048aSMarcel Moolenaar 467e76048aSMarcel Moolenaar /* fpu_explode.c */ 477e76048aSMarcel Moolenaar int fpu_itof(struct fpn *, u_int); 487e76048aSMarcel Moolenaar int fpu_xtof(struct fpn *, u_int64_t); 497e76048aSMarcel Moolenaar int fpu_stof(struct fpn *, u_int); 507e76048aSMarcel Moolenaar int fpu_dtof(struct fpn *, u_int, u_int); 517e76048aSMarcel Moolenaar 527e76048aSMarcel Moolenaar /* fpu_implode.c */ 537e76048aSMarcel Moolenaar u_int fpu_ftoi(struct fpemu *, struct fpn *); 547e76048aSMarcel Moolenaar u_int fpu_ftox(struct fpemu *, struct fpn *, u_int *); 557e76048aSMarcel Moolenaar u_int fpu_ftos(struct fpemu *, struct fpn *); 567e76048aSMarcel Moolenaar u_int fpu_ftod(struct fpemu *, struct fpn *, u_int *); 577e76048aSMarcel Moolenaar 58