~jderose/ubuntu/raring/qemu/vde-again

« back to all changes in this revision

Viewing changes to target-alpha/cpu.h

  • Committer: Bazaar Package Importer
  • Author(s): Aurelien Jarno, Aurelien Jarno
  • Date: 2009-03-07 06:20:34 UTC
  • mfrom: (1.1.9 upstream)
  • mto: This revision was merged to the branch mainline in revision 7.
  • Revision ID: james.westby@ubuntu.com-20090307062034-i3pead4mw653v2el
Tags: 0.10.0-1
[ Aurelien Jarno ]
* New upstream release:
  - Fix fr-be keyboard mapping (closes: bug#514462).
  - Fix stat64 structure on ppc-linux-user (closes: bug#470231).
  - Add a chroot option (closes: bug#415996).
  - Add evdev support (closes: bug#513210).
  - Fix loop on symlinks in user mode (closes: bug#297572).
  - Bump depends on openbios-sparc.
  - Depends on openbios-ppc.
  - Update 12_signal_powerpc_support.patch.
  - Update 21_net_soopts.patch.
  - Drop 44_socklen_t_check.patch (merged upstream).
  - Drop 49_null_check.patch (merged upstream).
  - Update 64_ppc_asm_constraints.patch.
  - Drop security/CVE-2008-0928-fedora.patch (merged upstream).
  - Drop security/CVE-2007-5730.patch (merged upstream).
* patches/80_stable-branch.patch: add patches from stable branch:
  - Fix race condition between signal handler/execution loop (closes:
    bug#474386, bug#501731).
* debian/copyright: update.
* Compile and install .dtb files:
  - debian/control: build-depends on device-tree-compiler.
  - debian/patches/81_compile_dtb.patch: new patch from upstream.
  - debian/rules: compile and install bamboo.dtb and mpc8544.dtb.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
 *
16
16
 * You should have received a copy of the GNU Lesser General Public
17
17
 * License along with this library; if not, write to the Free Software
18
 
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA  02110-1301 USA
19
19
 */
20
20
 
21
21
#if !defined (__CPU_ALPHA_H__)
269
269
    uint64_t ps;
270
270
    uint64_t unique;
271
271
    int saved_mode; /* Used for HW_LD / HW_ST */
 
272
    int intr_flag; /* For RC and RS */
272
273
 
273
274
#if TARGET_LONG_BITS > HOST_LONG_BITS
274
275
    /* temporary fixed-point registers
275
276
     * used to emulate 64 bits target on 32 bits hosts
276
277
     */
277
 
    target_ulong t0, t1, t2;
 
278
    target_ulong t0, t1;
278
279
#endif
279
 
    /* */
280
 
    double ft0, ft1, ft2;
281
280
 
282
281
    /* Those resources are used only in Qemu core */
283
282
    CPU_COMMON
284
283
 
285
 
    jmp_buf jmp_env;
286
 
    int user_mode_only; /* user mode only simulation */
287
284
    uint32_t hflags;
288
 
    int halted;
289
285
 
290
 
    int exception_index;
291
286
    int error_code;
292
 
    int interrupt_request;
293
287
 
294
288
    uint32_t features;
295
289
    uint32_t amask;
314
308
    return (env->ps >> 3) & 3;
315
309
}
316
310
 
 
311
#if defined(CONFIG_USER_ONLY)
 
312
static inline void cpu_clone_regs(CPUState *env, target_ulong newsp)
 
313
{
 
314
    if (newsp)
 
315
        env->ir[30] = newsp;
 
316
    /* FIXME: Zero syscall return value.  */
 
317
}
 
318
#endif
 
319
 
317
320
#include "cpu-all.h"
 
321
#include "exec-all.h"
318
322
 
319
323
enum {
320
324
    FEATURE_ASN    = 0x00000001,
403
407
   is returned if the signal was handled by the virtual CPU.  */
404
408
int cpu_alpha_signal_handler(int host_signum, void *pinfo,
405
409
                             void *puc);
 
410
int cpu_alpha_handle_mmu_fault (CPUState *env, uint64_t address, int rw,
 
411
                                int mmu_idx, int is_softmmu);
 
412
void do_interrupt (CPUState *env);
 
413
 
406
414
int cpu_alpha_mfpr (CPUState *env, int iprn, uint64_t *valp);
407
415
int cpu_alpha_mtpr (CPUState *env, int iprn, uint64_t val, uint64_t *oldvalp);
408
 
void cpu_loop_exit (void);
409
416
void pal_init (CPUState *env);
 
417
#if !defined (CONFIG_USER_ONLY)
 
418
void call_pal (CPUState *env);
 
419
#else
410
420
void call_pal (CPUState *env, int palcode);
 
421
#endif
 
422
 
 
423
static inline void cpu_pc_from_tb(CPUState *env, TranslationBlock *tb)
 
424
{
 
425
    env->pc = tb->pc;
 
426
}
 
427
 
 
428
static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc,
 
429
                                        target_ulong *cs_base, int *flags)
 
430
{
 
431
    *pc = env->pc;
 
432
    *cs_base = 0;
 
433
    *flags = env->ps;
 
434
}
411
435
 
412
436
#endif /* !defined (__CPU_ALPHA_H__) */