Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
b430a225
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b430a225
编写于
12月 30, 2009
作者:
B
Blue Swirl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Sparc64: split DPRINTF into CPUIRQ and EBUS versions
Signed-off-by:
N
Blue Swirl
<
blauwirbel@gmail.com
>
上级
302698e8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
8 deletion
+16
-8
hw/sun4u.c
hw/sun4u.c
+16
-8
未找到文件。
hw/sun4u.c
浏览文件 @
b430a225
...
...
@@ -39,12 +39,20 @@
#include "elf.h"
//#define DEBUG_IRQ
//#define DEBUG_EBUS
#ifdef DEBUG_IRQ
#define
DPRINTF(fmt, ...)
\
#define
CPUIRQ_DPRINTF(fmt, ...)
\
do { printf("CPUIRQ: " fmt , ## __VA_ARGS__); } while (0)
#else
#define DPRINTF(fmt, ...)
#define CPUIRQ_DPRINTF(fmt, ...)
#endif
#ifdef DEBUG_EBUS
#define EBUS_DPRINTF(fmt, ...) \
do { printf("EBUS: " fmt , ## __VA_ARGS__); } while (0)
#else
#define EBUS_DPRINTF(fmt, ...)
#endif
#define KERNEL_LOAD_ADDR 0x00404000
...
...
@@ -238,14 +246,14 @@ void cpu_check_irqs(CPUState *env)
env
->
interrupt_index
=
TT_EXTINT
|
i
;
if
(
old_interrupt
!=
env
->
interrupt_index
)
{
DPRINTF
(
"Set CPU IRQ %d
\n
"
,
i
);
CPUIRQ_
DPRINTF
(
"Set CPU IRQ %d
\n
"
,
i
);
cpu_interrupt
(
env
,
CPU_INTERRUPT_HARD
);
}
break
;
}
}
}
else
if
(
!
pil
&&
(
env
->
interrupt_index
&
~
15
)
==
TT_EXTINT
)
{
DPRINTF
(
"Reset CPU IRQ %d
\n
"
,
env
->
interrupt_index
&
15
);
CPUIRQ_
DPRINTF
(
"Reset CPU IRQ %d
\n
"
,
env
->
interrupt_index
&
15
);
env
->
interrupt_index
=
0
;
cpu_reset_interrupt
(
env
,
CPU_INTERRUPT_HARD
);
}
...
...
@@ -256,12 +264,12 @@ static void cpu_set_irq(void *opaque, int irq, int level)
CPUState
*
env
=
opaque
;
if
(
level
)
{
DPRINTF
(
"Raise CPU IRQ %d
\n
"
,
irq
);
CPUIRQ_
DPRINTF
(
"Raise CPU IRQ %d
\n
"
,
irq
);
env
->
halted
=
0
;
env
->
pil_in
|=
1
<<
irq
;
cpu_check_irqs
(
env
);
}
else
{
DPRINTF
(
"Lower CPU IRQ %d
\n
"
,
irq
);
CPUIRQ_
DPRINTF
(
"Lower CPU IRQ %d
\n
"
,
irq
);
env
->
pil_in
&=
~
(
1
<<
irq
);
cpu_check_irqs
(
env
);
}
...
...
@@ -347,8 +355,8 @@ void cpu_tick_set_limit(void *opaque, uint64_t limit)
static
void
ebus_mmio_mapfunc
(
PCIDevice
*
pci_dev
,
int
region_num
,
pcibus_t
addr
,
pcibus_t
size
,
int
type
)
{
DPRINTF
(
"Mapping region %d registers at %"
FMT_PCIBUS
"
\n
"
,
region_num
,
addr
);
EBUS_DPRINTF
(
"Mapping region %d registers at %"
FMT_PCIBUS
"
\n
"
,
region_num
,
addr
);
switch
(
region_num
)
{
case
0
:
isa_mmio_init
(
addr
,
0x1000000
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录