* [Qemu-devel] [PATCH] [MIPS] Correctly identify multiple cpus in SMP systems
@ 2010-07-31 10:29 Hervé Poussineau
2010-07-31 15:17 ` Aurelien Jarno
0 siblings, 1 reply; 2+ messages in thread
From: Hervé Poussineau @ 2010-07-31 10:29 UTC (permalink / raw)
To: qemu-devel; +Cc: Hervé Poussineau
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
---
target-mips/op_helper.c | 3 +--
target-mips/translate.c | 3 +--
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c
index a619b72..50c65bd 100644
--- a/target-mips/op_helper.c
+++ b/target-mips/op_helper.c
@@ -1359,8 +1359,7 @@ void helper_mtc0_cause (target_ulong arg1)
void helper_mtc0_ebase (target_ulong arg1)
{
/* vectored interrupts not implemented */
- /* Multi-CPU not implemented */
- env->CP0_EBase = 0x80000000 | (arg1 & 0x3FFFF000);
+ env->CP0_EBase = (env->CP0_EBase & ~0x3FFFF000) | (arg1 & 0x3FFFF000);
}
void helper_mtc0_config0 (target_ulong arg1)
diff --git a/target-mips/translate.c b/target-mips/translate.c
index 6c72dee..20b66a8 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -12679,8 +12679,7 @@ void cpu_reset (CPUMIPSState *env)
env->CP0_Random = env->tlb->nb_tlb - 1;
env->tlb->tlb_in_use = env->tlb->nb_tlb;
env->CP0_Wired = 0;
- /* SMP not implemented */
- env->CP0_EBase = 0x80000000;
+ env->CP0_EBase = 0x80000000 | (env->cpu_index & 0x3FF);
env->CP0_Status = (1 << CP0St_BEV) | (1 << CP0St_ERL);
/* vectored interrupts not implemented, timer on int 7,
no performance counters. */
--
1.7.1.GIT
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] [MIPS] Correctly identify multiple cpus in SMP systems
2010-07-31 10:29 [Qemu-devel] [PATCH] [MIPS] Correctly identify multiple cpus in SMP systems Hervé Poussineau
@ 2010-07-31 15:17 ` Aurelien Jarno
0 siblings, 0 replies; 2+ messages in thread
From: Aurelien Jarno @ 2010-07-31 15:17 UTC (permalink / raw)
To: Hervé Poussineau; +Cc: qemu-devel
On Sat, Jul 31, 2010 at 12:29:03PM +0200, Hervé Poussineau wrote:
>
> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
> ---
> target-mips/op_helper.c | 3 +--
> target-mips/translate.c | 3 +--
> 2 files changed, 2 insertions(+), 4 deletions(-)
Thanks, applied.
> diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c
> index a619b72..50c65bd 100644
> --- a/target-mips/op_helper.c
> +++ b/target-mips/op_helper.c
> @@ -1359,8 +1359,7 @@ void helper_mtc0_cause (target_ulong arg1)
> void helper_mtc0_ebase (target_ulong arg1)
> {
> /* vectored interrupts not implemented */
> - /* Multi-CPU not implemented */
> - env->CP0_EBase = 0x80000000 | (arg1 & 0x3FFFF000);
> + env->CP0_EBase = (env->CP0_EBase & ~0x3FFFF000) | (arg1 & 0x3FFFF000);
> }
>
> void helper_mtc0_config0 (target_ulong arg1)
> diff --git a/target-mips/translate.c b/target-mips/translate.c
> index 6c72dee..20b66a8 100644
> --- a/target-mips/translate.c
> +++ b/target-mips/translate.c
> @@ -12679,8 +12679,7 @@ void cpu_reset (CPUMIPSState *env)
> env->CP0_Random = env->tlb->nb_tlb - 1;
> env->tlb->tlb_in_use = env->tlb->nb_tlb;
> env->CP0_Wired = 0;
> - /* SMP not implemented */
> - env->CP0_EBase = 0x80000000;
> + env->CP0_EBase = 0x80000000 | (env->cpu_index & 0x3FF);
> env->CP0_Status = (1 << CP0St_BEV) | (1 << CP0St_ERL);
> /* vectored interrupts not implemented, timer on int 7,
> no performance counters. */
> --
> 1.7.1.GIT
>
>
>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-07-31 15:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-31 10:29 [Qemu-devel] [PATCH] [MIPS] Correctly identify multiple cpus in SMP systems Hervé Poussineau
2010-07-31 15:17 ` Aurelien Jarno
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).