Annotation of qemu/target-sparc/cpu-qom.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * QEMU SPARC CPU
                      3:  *
                      4:  * Copyright (c) 2012 SUSE LINUX Products GmbH
                      5:  *
                      6:  * This library is free software; you can redistribute it and/or
                      7:  * modify it under the terms of the GNU Lesser General Public
                      8:  * License as published by the Free Software Foundation; either
                      9:  * version 2.1 of the License, or (at your option) any later version.
                     10:  *
                     11:  * This library is distributed in the hope that it will be useful,
                     12:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     14:  * Lesser General Public License for more details.
                     15:  *
                     16:  * You should have received a copy of the GNU Lesser General Public
                     17:  * License along with this library; if not, see
                     18:  * <http://www.gnu.org/licenses/lgpl-2.1.html>
                     19:  */
                     20: #ifndef QEMU_SPARC_CPU_QOM_H
                     21: #define QEMU_SPARC_CPU_QOM_H
                     22: 
                     23: #include "qemu/cpu.h"
                     24: #include "cpu.h"
                     25: 
                     26: #ifdef TARGET_SPARC64
                     27: #define TYPE_SPARC_CPU "sparc64-cpu"
                     28: #else
                     29: #define TYPE_SPARC_CPU "sparc-cpu"
                     30: #endif
                     31: 
                     32: #define SPARC_CPU_CLASS(klass) \
                     33:     OBJECT_CLASS_CHECK(SPARCCPUClass, (klass), TYPE_SPARC_CPU)
                     34: #define SPARC_CPU(obj) \
                     35:     OBJECT_CHECK(SPARCCPU, (obj), TYPE_SPARC_CPU)
                     36: #define SPARC_CPU_GET_CLASS(obj) \
                     37:     OBJECT_GET_CLASS(SPARCCPUClass, (obj), TYPE_SPARC_CPU)
                     38: 
                     39: /**
                     40:  * SPARCCPUClass:
                     41:  * @parent_reset: The parent class' reset handler.
                     42:  *
                     43:  * A SPARC CPU model.
                     44:  */
                     45: typedef struct SPARCCPUClass {
                     46:     /*< private >*/
                     47:     CPUClass parent_class;
                     48:     /*< public >*/
                     49: 
                     50:     void (*parent_reset)(CPUState *cpu);
                     51: } SPARCCPUClass;
                     52: 
                     53: /**
                     54:  * SPARCCPU:
                     55:  * @env: #CPUSPARCState
                     56:  *
                     57:  * A SPARC CPU.
                     58:  */
                     59: typedef struct SPARCCPU {
                     60:     /*< private >*/
                     61:     CPUState parent_obj;
                     62:     /*< public >*/
                     63: 
                     64:     CPUSPARCState env;
                     65: } SPARCCPU;
                     66: 
                     67: static inline SPARCCPU *sparc_env_get_cpu(CPUSPARCState *env)
                     68: {
                     69:     return SPARC_CPU(container_of(env, SPARCCPU, env));
                     70: }
                     71: 
                     72: #define ENV_GET_CPU(e) CPU(sparc_env_get_cpu(e))
                     73: 
                     74: 
                     75: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.