CpuStateBuzy => CpuStateBusy
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 2 +-
UefiCpuPkg/CpuDxe/CpuMp.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/Cpu
months ago. pls see:
http://feishare.com/efimail/message/20141126-1910-_edk2_UefiCpuPkg
_CpuMp_improvement_idea_-_Put_APs_to_sleep_whennot_busy-Jordan_Justen_.html
v2-v4:
add volatile qulifier for Parameter and Procedure in CpuData
Chen Fan (4):
UefiCpuPkg/MpService: fix trivial typo in cpu
Thanks.
Chen
On 03/05/2015 02:53 PM, Fan, Jeff wrote:
> Chen,
>
> I am ok with the new serial of patches. I will help to check-in the patches
> at next week.
>
> Reviewed-by: Jeff Fan
>
> Thanks!
> Jeff
> -Original Message-
> From: Chen Fan [mailto:che
Add a new sleeping state for APs, when no procedure execution,
put AP to sleep. when need to execute procedure, only need to
wake up this AP by sent SIPI.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 61
CpuState should follow the process:
Idle -> Ready -> Busy -> Finished
^ |
| |
+ - - - - - - - - - - - - +
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/Cp
For avoid the compiler optimizing the code, we let Parameter
and Procedure in CpuData volatile.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
Signed-off-by: Jeff Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 4 ++--
UefiCpuPkg/CpuDxe/CpuMp.h | 4 ++--
2 files changed, 4
atile CPU_STATE State;
>
> - EFI_AP_PROCEDURE Procedure;
> - VOID *Parameter;
> + volatile EFI_AP_PROCEDURE Procedure;
> + volatile VOID *Parameter;
> BOOLEAN*Finished;
> INTN
1228:23: error: assignment discards ‘volatile’
qualifier from pointer target type
Thanks,
Chen
>
> -Original Message-----
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> Sent: Thursday, March 05, 2015 11:55 AM
> To: edk2-devel@lists.sourceforge.net
> Cc: Fan, Jeff;
For avoid the compiler optimizing the code, we let Parameter
and Procedure in CpuData volatile.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe
CpuState should follow the process:
Idle -> Ready -> Busy -> Finished
^ |
| |
+ - - - - - - - - - - - - +
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/Cp
CpuStateBuzy => CpuStateBusy
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 2 +-
UefiCpuPkg/CpuDxe/CpuMp.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/Cpu
Add a new sleeping state for APs, when no procedure execution,
put AP to sleep. when need to execute procedure, only need to
wake up this AP by sent SIPI.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 61
months ago. pls see:
http://feishare.com/efimail/message/20141126-1910-_edk2_UefiCpuPkg
_CpuMp_improvement_idea_-_Put_APs_to_sleep_whennot_busy-Jordan_Justen_.html
v2-v3:
add volatile qulifier for Parameter and Procedure in CpuData
Chen Fan (4):
UefiCpuPkg/MpService: fix trivial typo in cpu
4, 2015, at 5:34 PM, Chen Fan mailto:chen.fan.f...@cn.fujitsu.com>> wrote:
Hi Jeff,
Thanks for your explanation, I didn't encounter any issue if
leaving it
there.
I just think if use Volatile qualifier may cause the problem of
performance. because
acces
gt;
> Besides it, I also suggest to add volatile for the following variable.
> CpuData->Parameter
> CpuData->Procedure
>
> Thanks!
> Jeff
>
> -Original Message-
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> Sent: Tuesday, March 03, 2015 1:06 PM
wakeup AP. and
Sent out the v2 patches. PLS help to review.
Thanks,
Chen
>> -Original Message-
>> From: Justen, Jordan L
>> Sent: Saturday, January 31, 2015 4:36 AM
>> To: Chen Fan; edk2-devel@lists.sourceforge.net
>> Cc: Fan, Jeff
>> Subject: Re: [PATCH 2/4] Ue
months ago. pls see:
http://feishare.com/efimail/message/20141126-1910-_edk2_UefiCpuPkg
_CpuMp_improvement_idea_-_Put_APs_to_sleep_whennot_busy-Jordan_Justen_.html
Chen Fan (4):
UefiCpuPkg/MpService: fix trivial typo in cpu state
UefiCpuPkg/MpService: put AP to busy state when execution
Add a new sleeping state for APs, when no procedure execution,
put AP to sleep. when need to execute procedure, only need to
wake up this AP by sent SIPI.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 61
CpuStateBuzy => CpuStateBusy
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 2 +-
UefiCpuPkg/CpuDxe/CpuMp.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/Cpu
because manipulating CpuState always with lock protection. so
volatile qualifier is redundant.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe
CpuState should follow the process:
Idle -> Ready -> Busy -> Finished
^ |
| |
+ - - - - - - - - - - - - +
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/Cp
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 8
1 file changed, 8 insertions(+)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 94b72b7..453dc47 100644
--- a/UefiCpuPkg/CpuDxe/CpuMp.c
+++ b
After the HLT instruction stops the execution of AP, an
enabled interrupt will resume execution. including including NMI
and SMI, here we introduce NMI interrupt to wake up AP with
hlt state.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/Include
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 453dc47..e328de7 100644
--- a/UefiCpuPkg/CpuDxe/CpuMp.c
+++ b
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 31 +++
1 file changed, 31 insertions(+)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 71b62be..94b72b7 100644
--- a/UefiCpuPkg
months ago. pls see:
http://feishare.com/efimail/message/20141126-1910-_edk2_UefiCpuPkg
_CpuMp_improvement_idea_-_Put_APs_to_sleep_whennot_busy-Jordan_Justen_.html
Chen Fan (4):
Apic: introduce SendNmiIpi() for trigger NMI IPI interrupt
UefiCpuPkg/MpService: register NMI handler for wake up AP
On Wed, 2014-11-26 at 11:10 -0800, Jordan Justen wrote:
> On 2014-11-13 17:34:59, Chen, Fan wrote:
> > On Thu, 2014-11-13 at 10:42 -0800, Jordan Justen wrote:
> > > On 2014-11-06 17:23:01, Fan, Jeff wrote:
> > > > Chen,
> > > >
> > > > T
On Wed, 2014-11-26 at 13:09 -0800, Andrew Fish wrote:
>
> > On Nov 26, 2014, at 12:49 PM, Jordan Justen
> > wrote:
> >
> > On 2014-11-26 12:07:53, Laszlo Ersek wrote:
> > > On 11/26/14 20:28, Jordan Justen wrote:
> > > > On 2014-11-13 17:34:59,
On Wed, 2014-11-26 at 16:43 +0100, Laszlo Ersek wrote:
> On 11/26/14 15:48, Laszlo Ersek wrote:
> > Hi,
> >
> > On 11/13/14 19:42, Jordan Justen wrote:
> >> On 2014-11-06 17:23:01, Fan, Jeff wrote:
> >>> Chen,
> >>>
> >>> Thanks your contribution. I will check-in your patch if there is no
> >>> f
On Fri, 2014-11-21 at 15:01 -0800, Jordan Justen wrote:
> On 2014-11-20 21:09:03, Chen Fan wrote:
> > Because TimeoutInMicrosecsond is a unsigned value, converting it to
> > signed value will cause the data region changed. so this patch fix
> > that.
> >
>
On Sun, 2014-11-16 at 23:00 -0800, Jordan Justen wrote:
> On 2014-11-16 21:26:16, Chen, Fan wrote:
> > On Sun, 2014-11-16 at 19:59 -0800, Jordan Justen wrote:
> > > On 2014-11-16 18:51:15, Chen Fan wrote:
> > > > Because TimeoutInMicrosecsond is a unsigned value, c
Because TimeoutInMicrosecsond is a unsigned value, converting it to
signed value will cause the data region changed. so this patch fix
that.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 41
there were some bugs we should fix.
Chen Fan (3):
EmulatorPkg/Mpservice: fix wrong unsigned to signed variable
transition
EmulatorPkg/MpService: StartupAllAPs should verify processor state
before setting state
EmulatorPkg/Mpservice: add enabled processor check for startupThisAP
if any enabled APs are not in idle state, StartupAllAPs() should return
immediately,
and must not change the other idled processor state. so we checked the state
before
changed them.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
Reviewed-by: Jordan Justen
if processor number is the one of disabled processor, startupThisAP
should return invalid prameter.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
Reviewed-by: Jordan Justen
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 4
1 file changed, 4 insertions
I had not tested it using other compilers.
Thanks for your fix them.
Reviewed-by: Chen Fan
Chen
On Wed, 2014-11-19 at 03:12 +, Fan, Jeff wrote:
> !!() cannot pass VS2005 build.
>
>
>
> Contributed-under: TianoCore Contribution Agreement 1.0
>
> Si
when gBS->ExitBootServices() is called, the APs should avoid to access
the unsafed buff datas which were allocated by boot services.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
Tested-by: Gabriel Somlo
Reviewed-by: Jordan Justen
---
v2-v1:
Move creat
EVT_SIGNAL_EXIT_BOOT_SERVICES,
> + TPL_CALLBACK,
> + ExitBootServicesCallback,
> + NULL,
> + &mExitBootServicesEvent
> + );
> + ASSERT_EFI_ERROR (Status);
Yes, I will send V2 soon.
Thanks,
Chen
>
> Tha
if any enabled APs are not in idle state, StartupAllAPs() should return
immediately,
and must not change the other idled processor state. so we checked the state
before
changed them.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
Reviewed-by: Jordan Justen
there were some bugs we should fix.
Chen Fan (3):
EmulatorPkg/Mpservice: fix wrong unsigned to signed variable
transition
EmulatorPkg/MpService: StartupAllAPs should verify processor state
before setting state
EmulatorPkg/Mpservice: add enabled processor check for startupThisAP
On Sun, 2014-11-16 at 19:59 -0800, Jordan Justen wrote:
> On 2014-11-16 18:51:15, Chen Fan wrote:
> > Because TimeoutInMicrosecsond is a unsigned value, converting it to
> > signed value will cause the data region changed. so this patch fix
> > that.
> >
>
Because TimeoutInMicrosecsond is a unsigned value, converting it to
signed value will cause the data region changed. so this patch fix
that.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 25
if processor number is the one of disabled processor, startupThisAP
should return invalid prameter.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
Reviewed-by: Jordan Justen
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 4
1 file changed, 4 insertions
s in wait for SIPI state at ExitBootServices
Looks good to me.
Thanks,
Chen
>
> -Jordan
>
> > On 2014-11-16 18:18:39, Chen Fan wrote:
> > > when gBS->ExitBootServices() is called, the APs should avoid
> > > to access the unsafed buff datas which wer
On Fri, 2014-11-14 at 10:46 -0800, Jordan Justen wrote:
> On 2014-11-03 00:17:17, Chen Fan wrote:
> > Because TimeoutInMicrosecsond is a unsigned value, converting it to
> > signed value will cause the data region changed. so this patch fix
> > that.
> >
>
On Sun, 2014-11-16 at 18:51 -0800, Jordan Justen wrote:
> On 2014-11-16 18:24:54, Chen, Fan wrote:
> > On Fri, 2014-11-14 at 09:34 -0800, Jordan Justen wrote:
> > > On 2014-11-14 05:52:47, Gabriel Somlo wrote:
> > > > On Fri, Nov 14, 2014 at 08:30:35AM +, Che
when gBS->ExitBootServices() is called, the APs should avoid
to access the unsafed buff datas which were allocated by boot services.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
Tested-by: Gabriel Somlo
---
UefiCpuPkg/CpuDxe/CpuDxe.c |
if any enabled APs are not in idle state, StartupAllAPs() should return
immediately,
and must not change the other idled processor state. so we checked the state
before
changed them.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe
Because TimeoutInMicrosecsond is a unsigned value, converting it to
signed value will cause the data region changed. so this patch fix
that.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 20 ++--
1
there were some bugs we should fix.
Chen Fan (3):
EmulatorPkg/Mpservice: fix wrong unsigned to signed variable
transition
EmulatorPkg/MpService: StartupAllAPs should verify processor state
before setting state
EmulatorPkg/Mpservice: add enabled processor check for startupThisAP
if processor number is the one of disabled processor, startupThisAP
should return invalid prameter.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 4
1 file changed, 4 insertions(+)
diff --git a/EmulatorPkg
On Fri, 2014-11-14 at 09:34 -0800, Jordan Justen wrote:
> On 2014-11-14 05:52:47, Gabriel Somlo wrote:
> > On Fri, Nov 14, 2014 at 08:30:35AM +0000, Chen, Fan wrote:
> > > On Fri, 2014-11-14 at 08:11 +, Fan, Jeff wrote:
> > > > Sounds good idea to send INIT IP
ove the MP.
BTW, thanks for your push.
Chen
>
> Jeff,
>
> Thanks for your review of this big series!
>
> -Jordan
>
> > -Original Message-
> > From: Chen, Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> > Sent: Thursday, November 06, 2014 5:13 PM
ApStartup.asm.
Thanks,
Chen
>
> Thanks!
> Jeff
> -Original Message-
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> Sent: Tuesday, November 04, 2014 5:59 PM
> To: edk2-devel@lists.sourceforge.net
> Cc: Jordan Justen; Fan, Jeff; izumi.t...@jp.fujitsu.c
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 128 --
1 file changed, 78 insertions(+), 50 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index f5de832
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuDxe.inf | 1 +
UefiCpuPkg/CpuDxe/CpuMp.c| 10 ++
UefiCpuPkg/CpuDxe/CpuMp.h| 2 ++
3 files changed, 13 insertions(+)
diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.inf b/UefiCpuPkg
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 950db38..ba62aea 100644
--- a
by now, SwitchBSP() always return UNSUPPORTED
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 51 ++-
UefiCpuPkg/CpuDxe/CpuMp.h | 43 +++
2 files
From: Jordan Justen
The AP startup code simply jumps into this code with the CpuDxe driver
without setting up a stack for the processor.
Therefore, this code must setup the stack before calling into C code.
This is the basic flow:
* AP enters CpuDxe driver code (AsmApEntryPoint) without stack
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 1eaf7b3..2692ebc 100644
--- a/UefiCpuPkg/CpuDxe/CpuMp.c
+++ b
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 33 -
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index ee25eac..f5de832 100644
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 55 ++-
1 file changed, 31 insertions(+), 24 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 183a27d
Contribution Agreement 1.0
Signed-off-by: Jordan Justen
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index dc19bb9..1eaf7b3 100644
--- a/UefiCpuPkg/CpuDxe/CpuMp.c
+++ b/UefiCpuPkg
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 9 +
UefiCpuPkg/CpuDxe/CpuMp.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index d657152..183a27d 100644
--- a
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 345 +-
UefiCpuPkg/CpuDxe/CpuMp.h | 117
2 files changed, 461 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 436 +-
UefiCpuPkg/CpuDxe/CpuMp.h | 160 +
2 files changed, 595 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe
Due to the implementation of AcquireSpinLock() is not MP safe,
so we should use AcquireSpinLockOrFail directly instead.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 186 +-
UefiCpuPkg
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/ApStartup.c | 54 ---
UefiCpuPkg/CpuDxe/CpuMp.c | 3 +++
UefiCpuPkg/CpuDxe/CpuMp.h | 27 ++
3 files changed, 66 insertions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 15 ---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 96513e8..d657152 100644
--- a/UefiCpuPkg
If timeout expires before AP returns from Procedure, the AP should
be terminated, we introduce ResetApStackLess() to send init IPI
to let AP exit Procedurce and re-available.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/ApStartup.c | 19
All APs use the same common stack to initialization. after
initialization, APs should switch to the stack of its own.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 29 +
1 file changed, 29 insertions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 82 ++-
UefiCpuPkg/CpuDxe/CpuMp.h | 44 +
2 files changed, 125 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 52 ++-
UefiCpuPkg/CpuDxe/CpuMp.h | 34 +++
2 files changed, 85 insertions(+), 1 deletion(-)
diff --git a
introduce PCD value: PcdCpuMaxLogicalProcessorNumber and PcdCpuApStackSize,
used for initialize APs stacks.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuDxe.inf | 4
UefiCpuPkg/CpuDxe/CpuMp.c| 42
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 89 +--
1 file changed, 47 insertions(+), 42 deletions(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index baab253
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 51 ++-
UefiCpuPkg/CpuDxe/CpuMp.h | 31
2 files changed, 81 insertions(+), 1 deletion(-)
diff --git a
From: Jordan Justen
This is the function the AP assembly code will expect to call after
getting a lock and setting up the stack.
Only one AP will enter this routine at a time.
If ApEntryPointInC exits, then the assembly code will loop around to
grab the lock, setup the stack, and call ApEntryPo
From: Jordan Justen
This routine starts the APs and directs them to run the specified
code.
The specified code is entered without a stack being available.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen
---
UefiCpuPkg/CpuDxe/ApStartup.asm | 111 +++
1. do not call anything EFI API from APs.
2. add AP busy-wait for task assignment from BSP and get rid of
IPI sent mechanism.
Chen Fan (22):
UefiCpuPkg/CpuDxe: introduce two PCD value
UefiCpuPkg/CpuDxe: Switch Ap Stack to NewStack
UefiCpuPkg/CpuDxe: introduce EFI_MP_SERVICES_PROTOCOL
Ue
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuDxe.inf | 1 +
UefiCpuPkg/CpuDxe/CpuMp.c| 89 +++-
UefiCpuPkg/CpuDxe/CpuMp.h| 47 +++
UefiCpuPkg/UefiCpuPkg.dsc| 1
From: Jordan Justen
We'll want to use the structures for AP startup.
Note: It seems previously we were not using '#pragma pack ()' in
CpuGdt.c.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen
---
UefiCpuPkg/CpuDxe/CpuGdt.c | 52 +-
From: Jordan Justen
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuDxe.c | 3 +++
UefiCpuPkg/CpuDxe/CpuDxe.inf | 2 ++
UefiCpuPkg/CpuDxe/CpuMp.c| 28
UefiCpuPkg/CpuDxe
e (UINT8 *)
> for mApStackStart.
> mTopOfApCommonStack = mApStackStart + gApStackSize;
> TopOfApStack = mApStackStart + gApStackSize;
>
> Thanks!
> Jeff
>
> -Original Message-
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> Sent: Mond
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
MdePkg/Include/X64/ProcessorBind.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/MdePkg/Include/X64/ProcessorBind.h
b/MdePkg/Include/X64/ProcessorBind.h
index dae0683..842c9a6 100644
riginal Message-
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> Sent: Monday, October 27, 2014 5:30 PM
> To: edk2-devel@lists.sourceforge.net
> Cc: Fan, Jeff; Jordan Justen
> Subject: [RFC PATCH v6 08/27] UefiCpuPkg/CpuDxe: introduce
> EFI_MP_SERVICES_PROTOCOL
&
it.
Thanks,
Chen
> Thanks!
> Jeff
>
> -Original Message-
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> Sent: Monday, October 27, 2014 5:30 PM
> To: edk2-devel@lists.sourceforge.net
> Cc: Fan, Jeff; Jordan Justen; Justen, Jordan L
> Subject: [RFC PATCH v6 01
Lock (),ReleaseMpSpinLock (),CheckAndUpdateAllAPsToIdleState ().
Got it.
Thanks,
Chen
>
> Thanks!
> Jeff
>
> -Original Message-
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com]
> Sent: Monday, October 27, 2014 5:30 PM
> To: edk2-devel@lists.sou
On Mon, 2014-11-03 at 08:37 +, Fan, Jeff wrote:
> Chen,
>
> Missing parameter description block in function header of
> ProcessorToIdleState().
Got it.
Thanks,
Chen
>
> Thanks!
> Jeff
>
> -Original Message-
> From: Chen Fan [mailto:chen.fan.f...@c
NSUMES
>
> 4. The following 2 lines cannot pass VS2008, please add type case (UINT8 *)
> for mApStackStart.
> mTopOfApCommonStack = mApStackStart + gApStackSize;
> TopOfApStack = mApStackStart + gApStackSize;
Thanks for your review.
I will fix them soon.
Thanks,
Chen
Because TimeoutInMicrosecsond is a unsigned value, converting it to
signed value will cause the data region changed. so this patch fix
that.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 10 +-
1 file changed
if processor number is the one of disabled processor, startupThisAP
should return invalid prameter.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe/MpService.c | 4
1 file changed, 4 insertions(+)
diff --git a/EmulatorPkg
there were some bugs we should fix.
Chen Fan (3):
EmulatorPkg/Mpservice: fix wrong unsigned to signed variable
transition
EmulatorPkg/MpService: StartupAllAPs should verify processor state
before setting state
EmulatorPkg/Mpservice: add enabled processor check for startupThisAP
if any enabled APs are not in idle state, StartupAllAPs() should return
immediately,
and must not change the other idled processor state. so we checked the state
before
changed them.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
EmulatorPkg/CpuRuntimeDxe
On Mon, 2014-10-27 at 17:29 +0800, Chen Fan wrote:
> This series patchset try to implement Mp Service protocol in UefiCpuPkg,
> Jordan had implemented the startup APs code, and I try to add more
> initialization code to let all APs work up, this Mp Service protocol's
> im
If timeout expires before AP returns from Procedure, the AP should
be terminated, we introduce ResetApStackLess() to send init IPI
to let AP exit Procedurce and re-available.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/ApStartup.c | 19
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 436 +-
UefiCpuPkg/CpuDxe/CpuMp.h | 160 +
2 files changed, 595 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 33 -
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe/CpuMp.c b/UefiCpuPkg/CpuDxe/CpuMp.c
index 3ea6ff0..8482cdf 100644
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 344 +-
UefiCpuPkg/CpuDxe/CpuMp.h | 117
2 files changed, 460 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/CpuDxe
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/ApStartup.c | 54 ---
UefiCpuPkg/CpuDxe/CpuMp.c | 3 +++
UefiCpuPkg/CpuDxe/CpuMp.h | 27 ++
3 files changed, 66 insertions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan
---
UefiCpuPkg/CpuDxe/CpuMp.c | 52 ++-
UefiCpuPkg/CpuDxe/CpuMp.h | 34 +++
2 files changed, 85 insertions(+), 1 deletion(-)
diff --git a
1 - 100 of 294 matches
Mail list logo