~vcs-imports/qemu/git

« back to all changes in this revision

Viewing changes to target-arm/nwfpe/fpa11.inl

  • Committer: blueswir1
  • Date: 2007-11-25 08:48:16 UTC
  • Revision ID: git-v1:b76482e76560345c00e7d6c89199ced204a926d2
 Fix buffer mux handling for unconnected serial ports


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3737 c046a42c-6fe2-441c-8c8c-71466251a162

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    NetWinder Floating Point Emulator
 
3
    (c) Rebel.COM, 1998,1999
 
4
 
 
5
    Direct questions, comments to Scott Bambrough <scottb@netwinder.org>
 
6
 
 
7
    This program is free software; you can redistribute it and/or modify
 
8
    it under the terms of the GNU General Public License as published by
 
9
    the Free Software Foundation; either version 2 of the License, or
 
10
    (at your option) any later version.
 
11
 
 
12
    This program is distributed in the hope that it will be useful,
 
13
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
    GNU General Public License for more details.
 
16
 
 
17
    You should have received a copy of the GNU General Public License
 
18
    along with this program; if not, write to the Free Software
 
19
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
20
*/
 
21
 
 
22
#include "fpa11.h"
 
23
 
 
24
/* Read and write floating point status register */
 
25
static inline unsigned int readFPSR(void)
 
26
{
 
27
  FPA11 *fpa11 = GET_FPA11();
 
28
  return(fpa11->fpsr);
 
29
}
 
30
 
 
31
static inline void writeFPSR(FPSR reg)
 
32
{
 
33
  FPA11 *fpa11 = GET_FPA11();
 
34
  /* the sysid byte in the status register is readonly */
 
35
  fpa11->fpsr = (fpa11->fpsr & MASK_SYSID) | (reg & ~MASK_SYSID);
 
36
}
 
37
 
 
38
/* Read and write floating point control register */
 
39
static inline FPCR readFPCR(void)
 
40
{
 
41
  FPA11 *fpa11 = GET_FPA11();
 
42
  /* clear SB, AB and DA bits before returning FPCR */
 
43
  return(fpa11->fpcr & ~MASK_RFC);
 
44
}
 
45
 
 
46
static inline void writeFPCR(FPCR reg)
 
47
{
 
48
  FPA11 *fpa11 = GET_FPA11();
 
49
  fpa11->fpcr &= ~MASK_WFC;             /* clear SB, AB and DA bits */
 
50
  fpa11->fpcr |= (reg & MASK_WFC);      /* write SB, AB and DA bits */
 
51
}