Skip to content

Commit

Permalink
a9mpcore: Prepare for QOM embedding
Browse files Browse the repository at this point in the history
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andreas Färber <andreas.faerber@web.de>
  • Loading branch information
afaerber committed Nov 5, 2013
1 parent 837cf10 commit de4c2dc
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 23 deletions.
24 changes: 1 addition & 23 deletions hw/cpu/a9mpcore.c
Expand Up @@ -8,29 +8,7 @@
* This code is licensed under the GPL.
*/

#include "hw/sysbus.h"
#include "hw/intc/arm_gic.h"
#include "hw/misc/a9scu.h"
#include "hw/timer/arm_mptimer.h"

#define TYPE_A9MPCORE_PRIV "a9mpcore_priv"
#define A9MPCORE_PRIV(obj) \
OBJECT_CHECK(A9MPPrivState, (obj), TYPE_A9MPCORE_PRIV)

typedef struct A9MPPrivState {
/*< private >*/
SysBusDevice parent_obj;
/*< public >*/

uint32_t num_cpu;
MemoryRegion container;
uint32_t num_irq;

GICState gic;
A9SCUState scu;
ARMMPTimerState mptimer;
ARMMPTimerState wdt;
} A9MPPrivState;
#include "hw/cpu/a9mpcore.h"

static void a9mp_priv_set_irq(void *opaque, int irq, int level)
{
Expand Down
37 changes: 37 additions & 0 deletions include/hw/cpu/a9mpcore.h
@@ -0,0 +1,37 @@
/*
* Cortex-A9MPCore internal peripheral emulation.
*
* Copyright (c) 2009 CodeSourcery.
* Copyright (c) 2011 Linaro Limited.
* Written by Paul Brook, Peter Maydell.
*
* This code is licensed under the GPL.
*/
#ifndef HW_CPU_A9MPCORE_H
#define HW_CPU_A9MPCORE_H

#include "hw/sysbus.h"
#include "hw/intc/arm_gic.h"
#include "hw/misc/a9scu.h"
#include "hw/timer/arm_mptimer.h"

#define TYPE_A9MPCORE_PRIV "a9mpcore_priv"
#define A9MPCORE_PRIV(obj) \
OBJECT_CHECK(A9MPPrivState, (obj), TYPE_A9MPCORE_PRIV)

typedef struct A9MPPrivState {
/*< private >*/
SysBusDevice parent_obj;
/*< public >*/

uint32_t num_cpu;
MemoryRegion container;
uint32_t num_irq;

GICState gic;
A9SCUState scu;
ARMMPTimerState mptimer;
ARMMPTimerState wdt;
} A9MPPrivState;

#endif

0 comments on commit de4c2dc

Please sign in to comment.