Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-27 Thread Chen Gang
On 2013年04月27日 17:32, Mike Qiu wrote:
>>>
>> I think the diff v2 is correct, but is not the best one for this issue.
>>
>> I prefer the Paul's patch for this issue which has better performance
>>
>> :-)
> yes, I use your patch and it can work, also Paul's patch can work too.

Good news.

Bye !

:-)

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-27 Thread Mike Qiu

于 2013/4/27 17:28, Chen Gang F T 写道:

On 2013年04月26日 11:54, Mike Qiu wrote:

于 2013/4/26 11:42, Chen Gang 写道:

On 2013年04月26日 11:25, Chen Gang wrote:

On 2013年04月26日 11:08, Mike Qiu wrote:

于 2013/4/26 10:06, Chen Gang 写道:

On 2013年04月26日 10:03, Mike Qiu wrote:

�� 2013/4/26 9:36, Chen Gang �:

On 2013��04��26�� 09:18, Chen Gang wrote:

On 2013��04��26�� 09:06, Chen Gang wrote:

CFAR is the Come From Register.  It saves the location of the
last

branch and is hence overwritten by any branch.


Do we process it just like others done (e.g. 0x300, 0xe00,
0xe20 ...) ?
  . = 0x900
  .globl decrementer_pSeries
decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
  SET_SCRATCH0(r13)
  b decrementer_pSeries_0

  ...



Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which
related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)

It seems that the machine can be bootup in powernv mode, but I'm not
sure if my machine call that module.

At lease my machine can boot up

Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
(1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)

What our diff v2 has done is just the fix for our patch v2 (just like
the commit 1707dd1 has done).

Please check, thanks.

:-)

I will check this evening or tomorrow, I have something else to do this
afteroon.

I think the diff v2 is correct, but is not the best one for this issue.

I prefer the Paul's patch for this issue which has better performance

:-)

yes, I use your patch and it can work, also Paul's patch can work too.


Thanks.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-27 Thread Chen Gang F T
On 2013年04月26日 11:54, Mike Qiu wrote:
> 于 2013/4/26 11:42, Chen Gang 写道:
>> On 2013年04月26日 11:25, Chen Gang wrote:
>>> On 2013年04月26日 11:08, Mike Qiu wrote:
 于 2013/4/26 10:06, Chen Gang 写道:
> On 2013年04月26日 10:03, Mike Qiu wrote:
>> �� 2013/4/26 9:36, Chen Gang �:
 On 2013��04��26�� 09:18, Chen Gang wrote:
>> On 2013��04��26�� 09:06, Chen Gang wrote:
>> CFAR is the Come From Register.  It saves the location of the
>> last
 branch and is hence overwritten by any branch.

 Do we process it just like others done (e.g. 0x300, 0xe00,
 0xe20 ...) ?
  . = 0x900
  .globl decrementer_pSeries
 decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
  SET_SCRATCH0(r13)
  b decrementer_pSeries_0

  ...


 Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which
 related
 with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
>> I will try your diff V2, to see if the machine can boot up
> OK, thanks. (hope it can work)
 It seems that the machine can be bootup in powernv mode, but I'm not
 sure if my machine call that module.

 At lease my machine can boot up
>> Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
>> (1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)
>>
>> What our diff v2 has done is just the fix for our patch v2 (just like
>> the commit 1707dd1 has done).
>>
>> Please check, thanks.
>>
>> :-)
> I will check this evening or tomorrow, I have something else to do this
> afteroon.

I think the diff v2 is correct, but is not the best one for this issue.

I prefer the Paul's patch for this issue which has better performance

:-)


Thanks.

-- 
Chen Gang

Flying Transformer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-27 Thread Chen Gang F T
On 2013年04月26日 11:54, Mike Qiu wrote:
 于 2013/4/26 11:42, Chen Gang 写道:
 On 2013年04月26日 11:25, Chen Gang wrote:
 On 2013年04月26日 11:08, Mike Qiu wrote:
 于 2013/4/26 10:06, Chen Gang 写道:
 On 2013年04月26日 10:03, Mike Qiu wrote:
 �� 2013/4/26 9:36, Chen Gang �:
 On 2013��04��26�� 09:18, Chen Gang wrote:
 On 2013��04��26�� 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the
 last
 branch and is hence overwritten by any branch.

 Do we process it just like others done (e.g. 0x300, 0xe00,
 0xe20 ...) ?
  . = 0x900
  .globl decrementer_pSeries
 decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
  SET_SCRATCH0(r13)
  b decrementer_pSeries_0

  ...


 Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which
 related
 with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
 I will try your diff V2, to see if the machine can boot up
 OK, thanks. (hope it can work)
 It seems that the machine can be bootup in powernv mode, but I'm not
 sure if my machine call that module.

 At lease my machine can boot up
 Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
 (1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)

 What our diff v2 has done is just the fix for our patch v2 (just like
 the commit 1707dd1 has done).

 Please check, thanks.

 :-)
 I will check this evening or tomorrow, I have something else to do this
 afteroon.

I think the diff v2 is correct, but is not the best one for this issue.

I prefer the Paul's patch for this issue which has better performance

:-)


Thanks.

-- 
Chen Gang

Flying Transformer
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-27 Thread Mike Qiu

于 2013/4/27 17:28, Chen Gang F T 写道:

On 2013年04月26日 11:54, Mike Qiu wrote:

于 2013/4/26 11:42, Chen Gang 写道:

On 2013年04月26日 11:25, Chen Gang wrote:

On 2013年04月26日 11:08, Mike Qiu wrote:

于 2013/4/26 10:06, Chen Gang 写道:

On 2013年04月26日 10:03, Mike Qiu wrote:

�� 2013/4/26 9:36, Chen Gang �:

On 2013��04��26�� 09:18, Chen Gang wrote:

On 2013��04��26�� 09:06, Chen Gang wrote:

CFAR is the Come From Register.  It saves the location of the
last

branch and is hence overwritten by any branch.


Do we process it just like others done (e.g. 0x300, 0xe00,
0xe20 ...) ?
  . = 0x900
  .globl decrementer_pSeries
decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
  SET_SCRATCH0(r13)
  b decrementer_pSeries_0

  ...



Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which
related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)

It seems that the machine can be bootup in powernv mode, but I'm not
sure if my machine call that module.

At lease my machine can boot up

Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
(1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)

What our diff v2 has done is just the fix for our patch v2 (just like
the commit 1707dd1 has done).

Please check, thanks.

:-)

I will check this evening or tomorrow, I have something else to do this
afteroon.

I think the diff v2 is correct, but is not the best one for this issue.

I prefer the Paul's patch for this issue which has better performance

:-)

yes, I use your patch and it can work, also Paul's patch can work too.


Thanks.



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-27 Thread Chen Gang
On 2013年04月27日 17:32, Mike Qiu wrote:

 I think the diff v2 is correct, but is not the best one for this issue.

 I prefer the Paul's patch for this issue which has better performance

 :-)
 yes, I use your patch and it can work, also Paul's patch can work too.

Good news.

Bye !

:-)

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Mike Qiu

于 2013/4/26 11:42, Chen Gang 写道:

On 2013年04月26日 11:25, Chen Gang wrote:

On 2013年04月26日 11:08, Mike Qiu wrote:

于 2013/4/26 10:06, Chen Gang 写道:

On 2013年04月26日 10:03, Mike Qiu wrote:

�� 2013/4/26 9:36, Chen Gang �:

On 2013��04��26�� 09:18, Chen Gang wrote:

On 2013��04��26�� 09:06, Chen Gang wrote:

CFAR is the Come From Register.  It saves the location of the
last

branch and is hence overwritten by any branch.


Do we process it just like others done (e.g. 0x300, 0xe00,
0xe20 ...) ?
 . = 0x900
 .globl decrementer_pSeries
decrementer_pSeries:
   HMT_MEDIUM_PPR_DISCARD
 SET_SCRATCH0(r13)
 b decrementer_pSeries_0

 ...



Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)

It seems that the machine can be bootup in powernv mode, but I'm not
sure if my machine call that module.

At lease my machine can boot up

Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
(1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)

What our diff v2 has done is just the fix for our patch v2 (just like
the commit 1707dd1 has done).

Please check, thanks.

:-)
I will check this evening or tomorrow, I have something else to do this 
afteroon.

Thank you for your information !

I have checked the disassemble by powerpc64-linux-gnu-objdump, it seems
all we have done for 0x900 is almost like the original done for 0x200.

I am just learning about the CFAR (google it), And I plan to wait for a
day, if all things go smoothly, I will send patch v3.


:-)





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 11:25, Chen Gang wrote:
> On 2013年04月26日 11:08, Mike Qiu wrote:
>> 于 2013/4/26 10:06, Chen Gang 写道:
>>> On 2013年04月26日 10:03, Mike Qiu wrote:
 �� 2013/4/26 9:36, Chen Gang �:
>> On 2013��04��26�� 09:18, Chen Gang wrote:
 On 2013��04��26�� 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the
 last
>> branch and is hence overwritten by any branch.
>>
>> Do we process it just like others done (e.g. 0x300, 0xe00,
>> 0xe20 ...) ?
>> . = 0x900
>> .globl decrementer_pSeries
>> decrementer_pSeries:
>>   HMT_MEDIUM_PPR_DISCARD
>> SET_SCRATCH0(r13)
>> b decrementer_pSeries_0
>>
>> ...
>>
>>
>> Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
>> with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
 I will try your diff V2, to see if the machine can boot up
>>> OK, thanks. (hope it can work)
>> It seems that the machine can be bootup in powernv mode, but I'm not
>> sure if my machine call that module.
>>
>> At lease my machine can boot up
> 

Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
(1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)

What our diff v2 has done is just the fix for our patch v2 (just like
the commit 1707dd1 has done).

Please check, thanks.

:-)

> Thank you for your information !
> 
> I have checked the disassemble by powerpc64-linux-gnu-objdump, it seems
> all we have done for 0x900 is almost like the original done for 0x200.
> 
> I am just learning about the CFAR (google it), And I plan to wait for a
> day, if all things go smoothly, I will send patch v3.
> 
> 
> :-)
> 


-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 11:08, Mike Qiu wrote:
> 于 2013/4/26 10:06, Chen Gang 写道:
>> On 2013年04月26日 10:03, Mike Qiu wrote:
>>> �� 2013/4/26 9:36, Chen Gang �:
> On 2013��04��26�� 09:18, Chen Gang wrote:
>>> On 2013��04��26�� 09:06, Chen Gang wrote:
>>> CFAR is the Come From Register.  It saves the location of the
>>> last
> branch and is hence overwritten by any branch.
>
> Do we process it just like others done (e.g. 0x300, 0xe00,
> 0xe20 ...) ?
> . = 0x900
> .globl decrementer_pSeries
> decrementer_pSeries:
>   HMT_MEDIUM_PPR_DISCARD
> SET_SCRATCH0(r13)
> b decrementer_pSeries_0
>
> ...
>
>
> Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
> with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
>>> I will try your diff V2, to see if the machine can boot up
>> OK, thanks. (hope it can work)
> It seems that the machine can be bootup in powernv mode, but I'm not
> sure if my machine call that module.
> 
> At lease my machine can boot up

Thank you for your information !

I have checked the disassemble by powerpc64-linux-gnu-objdump, it seems
all we have done for 0x900 is almost like the original done for 0x200.

I am just learning about the CFAR (google it), And I plan to wait for a
day, if all things go smoothly, I will send patch v3.


:-)

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Mike Qiu

于 2013/4/26 10:06, Chen Gang 写道:

On 2013年04月26日 10:03, Mike Qiu wrote:

�� 2013/4/26 9:36, Chen Gang �:

On 2013��04��26�� 09:18, Chen Gang wrote:

On 2013��04��26�� 09:06, Chen Gang wrote:

CFAR is the Come From Register.  It saves the location of the last

branch and is hence overwritten by any branch.


Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
. = 0x900
.globl decrementer_pSeries
decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
SET_SCRATCH0(r13)
b decrementer_pSeries_0

...



Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)
It seems that the machine can be bootup in powernv mode, but I'm not 
sure if my machine call that module.


At lease my machine can boot up

Thanks
Mike


:-)



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 10:03, Mike Qiu wrote:
> �� 2013/4/26 9:36, Chen Gang �:
>> > On 2013��04��26�� 09:18, Chen Gang wrote:
>>> >> On 2013��04��26�� 09:06, Chen Gang wrote:
>  CFAR is the Come From Register.  It saves the location of the last
>> > branch and is hence overwritten by any branch.
>> >
 >>> Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
 >>>. = 0x900
 >>>.globl decrementer_pSeries
 >>> decrementer_pSeries:
 >>>HMT_MEDIUM_PPR_DISCARD
 >>>SET_SCRATCH0(r13)
 >>>b decrementer_pSeries_0
 >>>
 >>>...
 >>>
 >>>
>> > Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
>> > with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
> I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)

:-)

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Mike Qiu
于 2013/4/26 9:36, Chen Gang 写道:
> On 2013年04月26日 09:18, Chen Gang wrote:
>> On 2013年04月26日 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the last
> branch and is hence overwritten by any branch.
>
>>> Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
>>> . = 0x900
>>> .globl decrementer_pSeries
>>> decrementer_pSeries:
>>> HMT_MEDIUM_PPR_DISCARD
>>> SET_SCRATCH0(r13)
>>> b decrementer_pSeries_0
>>>
>>> ...
>>>
>>>
> Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
> with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up
> -diff v2 begin-
>
> diff --git a/arch/powerpc/kernel/exceptions-64s.S 
> b/arch/powerpc/kernel/exceptions-64s.S
> index e789ee7..f0489c4 100644
> --- a/arch/powerpc/kernel/exceptions-64s.S
> +++ b/arch/powerpc/kernel/exceptions-64s.S
> @@ -254,7 +254,15 @@ hardware_interrupt_hv:
>   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
>   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
>
> - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
> + . = 0x900
> + .globl decrementer_pSeries
> +decrementer_pSeries:
> + HMT_MEDIUM_PPR_DISCARD
> + SET_SCRATCH0(r13)   /* save r13 */
> + EXCEPTION_PROLOG_0(PACA_EXGEN)
> + EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
> + b   decrementer_pSeries_0
> +
>   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
>
>   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
> @@ -536,6 +544,11 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
>  #endif
>
>   .align  7
> + /* moved from 0x900 */
> +decrementer_pSeries_0:
> + EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
> +
> + .align  7
>   /* moved from 0xe00 */
>   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
>   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
>
>
> -diff v2 end---
>
>
>> Such as the fix below, is it OK (just like 0x300 or 0x200 has done) ?
>>
>> Please check, thanks.
>>
>> ---diff begin-
>>
>> diff --git a/arch/powerpc/kernel/exceptions-64s.S 
>> b/arch/powerpc/kernel/exceptions-64s.S
>> index e789ee7..a0a5ff2 100644
>> --- a/arch/powerpc/kernel/exceptions-64s.S
>> +++ b/arch/powerpc/kernel/exceptions-64s.S
>> @@ -254,7 +254,14 @@ hardware_interrupt_hv:
>>  STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
>>  KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
>>  
>> -MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
>> +. = 0x900
>> +.globl decrementer_pSeries
>> +decrementer_pSeries:
>> +HMT_MEDIUM_PPR_DISCARD
>> +SET_SCRATCH0(r13)   /* save r13 */
>> +EXCEPTION_PROLOG_0(PACA_EXGEN)
>> +b   decrementer_pSeries_0
>> +
>>  STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
>>  
>>  MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
>> @@ -536,6 +543,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
>>  #endif
>>  
>>  .align  7
>> +/* moved from 0x900 */
>> +decrementer_pSeries_0:
>> +EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
>> +EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
>> +
>> +.align  7
>>  /* moved from 0xe00 */
>>  STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
>>  KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
>>
>> ---diff end---
>>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 09:18, Chen Gang wrote:
> On 2013年04月26日 09:06, Chen Gang wrote:
>>> CFAR is the Come From Register.  It saves the location of the last
 branch and is hence overwritten by any branch.

>> Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
>>  . = 0x900
>>  .globl decrementer_pSeries
>> decrementer_pSeries:
>>  HMT_MEDIUM_PPR_DISCARD
>>  SET_SCRATCH0(r13)
>>  b decrementer_pSeries_0
>>
>>  ...
>>
>>

Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

-diff v2 begin-

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index e789ee7..f0489c4 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -254,7 +254,15 @@ hardware_interrupt_hv:
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
 
-   MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
+   . = 0x900
+   .globl decrementer_pSeries
+decrementer_pSeries:
+   HMT_MEDIUM_PPR_DISCARD
+   SET_SCRATCH0(r13)   /* save r13 */
+   EXCEPTION_PROLOG_0(PACA_EXGEN)
+   EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
+   b   decrementer_pSeries_0
+
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
 
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
@@ -536,6 +544,11 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
 #endif
 
.align  7
+   /* moved from 0x900 */
+decrementer_pSeries_0:
+   EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
+
+   .align  7
/* moved from 0xe00 */
STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)


-diff v2 end---


> 
> Such as the fix below, is it OK (just like 0x300 or 0x200 has done) ?
> 
> Please check, thanks.
> 
> ---diff begin-
> 
> diff --git a/arch/powerpc/kernel/exceptions-64s.S 
> b/arch/powerpc/kernel/exceptions-64s.S
> index e789ee7..a0a5ff2 100644
> --- a/arch/powerpc/kernel/exceptions-64s.S
> +++ b/arch/powerpc/kernel/exceptions-64s.S
> @@ -254,7 +254,14 @@ hardware_interrupt_hv:
>   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
>   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
>  
> - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
> + . = 0x900
> + .globl decrementer_pSeries
> +decrementer_pSeries:
> + HMT_MEDIUM_PPR_DISCARD
> + SET_SCRATCH0(r13)   /* save r13 */
> + EXCEPTION_PROLOG_0(PACA_EXGEN)
> + b   decrementer_pSeries_0
> +
>   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
>  
>   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
> @@ -536,6 +543,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
>  #endif
>  
>   .align  7
> + /* moved from 0x900 */
> +decrementer_pSeries_0:
> + EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
> + EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
> +
> + .align  7
>   /* moved from 0xe00 */
>   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
>   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
> 
> ---diff end---
> 


-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 09:06, Chen Gang wrote:
>> CFAR is the Come From Register.  It saves the location of the last
>> > branch and is hence overwritten by any branch.
>> > 
> Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
>   . = 0x900
>   .globl decrementer_pSeries
> decrementer_pSeries:
>   HMT_MEDIUM_PPR_DISCARD
>   SET_SCRATCH0(r13)
>   b decrementer_pSeries_0
> 
>   ...
> 
> 

Such as the fix below, is it OK (just like 0x300 or 0x200 has done) ?

Please check, thanks.

---diff begin-

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index e789ee7..a0a5ff2 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -254,7 +254,14 @@ hardware_interrupt_hv:
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
 
-   MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
+   . = 0x900
+   .globl decrementer_pSeries
+decrementer_pSeries:
+   HMT_MEDIUM_PPR_DISCARD
+   SET_SCRATCH0(r13)   /* save r13 */
+   EXCEPTION_PROLOG_0(PACA_EXGEN)
+   b   decrementer_pSeries_0
+
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
 
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
@@ -536,6 +543,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
 #endif
 
.align  7
+   /* moved from 0x900 */
+decrementer_pSeries_0:
+   EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
+   EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
+
+   .align  7
/* moved from 0xe00 */
STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)

---diff end---

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 07:16, Michael Neuling wrote:
>> > diff --git a/arch/powerpc/kernel/exceptions-64s.S 
>> > b/arch/powerpc/kernel/exceptions-64s.S
>> > index e789ee7..8997de2 100644
>> > --- a/arch/powerpc/kernel/exceptions-64s.S
>> > +++ b/arch/powerpc/kernel/exceptions-64s.S
>> > @@ -254,7 +254,11 @@ hardware_interrupt_hv:
>> >STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
>> >KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
>> >  
>> > -  MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
>> > +  . = 0x900
>> > +  .globl decrementer_pSeries
>> > +decrementer_pSeries:
>> > +  b   decrementer_pSeries_0
>> > +
> Unfortunately you can't do this ether as we need to save the CFAR[1]
> before it's overwritten by any branch. MASKABLE_EXCEPTION_PSERIES does
> this.
> 

Thanks for your checking.

> CFAR is the Come From Register.  It saves the location of the last
> branch and is hence overwritten by any branch.
> 

Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
. = 0x900
.globl decrementer_pSeries
decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
SET_SCRATCH0(r13)
b decrementer_pSeries_0

...


> Thanks for trying.
> 

Not at all, before get fixed by other members, I should continue trying.

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Michael Neuling
Chen Gang  wrote:

> 
> When CONFIG_KVM_BOOK3S_64_PR is enabled,
> MASKABLE_EXCEPTION_PSERIES(0x900 ...) will includes __KVMTEST, it will
> exceed 0x980 which STD_EXCEPTION_HV(0x980 ...) will use, it will cause
> compiling issue.
> 
> The related errors:
> arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
> arch/powerpc/kernel/exceptions-64s.S:258: Error: attempt to move .org 
> backwards
> make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
> 
> The position 0x900 and 0x980 are solid, so can not move the position
> to make room larger. The final solution is to jump to another area to
> execute the related code.
> 
> 
> Signed-off-by: Chen Gang 
> ---
>  arch/powerpc/kernel/exceptions-64s.S |   12 +++-
>  1 files changed, 11 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/exceptions-64s.S 
> b/arch/powerpc/kernel/exceptions-64s.S
> index e789ee7..8997de2 100644
> --- a/arch/powerpc/kernel/exceptions-64s.S
> +++ b/arch/powerpc/kernel/exceptions-64s.S
> @@ -254,7 +254,11 @@ hardware_interrupt_hv:
>   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
>   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
>  
> - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
> + . = 0x900
> + .globl decrementer_pSeries
> +decrementer_pSeries:
> + b   decrementer_pSeries_0
> +

Unfortunately you can't do this ether as we need to save the CFAR[1]
before it's overwritten by any branch. MASKABLE_EXCEPTION_PSERIES does
this.

CFAR is the Come From Register.  It saves the location of the last
branch and is hence overwritten by any branch.

Thanks for trying.

Mikey

>   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
>  
>   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
> @@ -536,6 +540,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
>  #endif
>  
>   .align  7
> + /* moved from 0x900 */
> +decrementer_pSeries_0:
> + _MASKABLE_EXCEPTION_PSERIES(0x900, decrementer,
> + EXC_STD, SOFTEN_TEST_PR)
> +
> + .align  7
>   /* moved from 0xe00 */
>   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
>   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
> -- 
> 1.7.7.6
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
Hello Mike:

This patch can pass compiling with Mike's config file, under my
cross-compiling environments, but does not run under the real machine,
please try it.

Welcome other members to help check this patch whether valid.

Thanks.


On 2013年04月25日 19:51, Chen Gang wrote:
> 
> When CONFIG_KVM_BOOK3S_64_PR is enabled,
> MASKABLE_EXCEPTION_PSERIES(0x900 ...) will includes __KVMTEST, it will
> exceed 0x980 which STD_EXCEPTION_HV(0x980 ...) will use, it will cause
> compiling issue.
> 
> The related errors:
> arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
> arch/powerpc/kernel/exceptions-64s.S:258: Error: attempt to move .org 
> backwards
> make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
> 
> The position 0x900 and 0x980 are solid, so can not move the position
> to make room larger. The final solution is to jump to another area to
> execute the related code.
> 
> 
> Signed-off-by: Chen Gang 
> ---
>  arch/powerpc/kernel/exceptions-64s.S |   12 +++-
>  1 files changed, 11 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/exceptions-64s.S 
> b/arch/powerpc/kernel/exceptions-64s.S
> index e789ee7..8997de2 100644
> --- a/arch/powerpc/kernel/exceptions-64s.S
> +++ b/arch/powerpc/kernel/exceptions-64s.S
> @@ -254,7 +254,11 @@ hardware_interrupt_hv:
>   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
>   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
>  
> - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
> + . = 0x900
> + .globl decrementer_pSeries
> +decrementer_pSeries:
> + b   decrementer_pSeries_0
> +
>   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
>  
>   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
> @@ -536,6 +540,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
>  #endif
>  
>   .align  7
> + /* moved from 0x900 */
> +decrementer_pSeries_0:
> + _MASKABLE_EXCEPTION_PSERIES(0x900, decrementer,
> + EXC_STD, SOFTEN_TEST_PR)
> +
> + .align  7
>   /* moved from 0xe00 */
>   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
>   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
> 


-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang

When CONFIG_KVM_BOOK3S_64_PR is enabled,
MASKABLE_EXCEPTION_PSERIES(0x900 ...) will includes __KVMTEST, it will
exceed 0x980 which STD_EXCEPTION_HV(0x980 ...) will use, it will cause
compiling issue.

The related errors:
arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
arch/powerpc/kernel/exceptions-64s.S:258: Error: attempt to move .org backwards
make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1

The position 0x900 and 0x980 are solid, so can not move the position
to make room larger. The final solution is to jump to another area to
execute the related code.


Signed-off-by: Chen Gang 
---
 arch/powerpc/kernel/exceptions-64s.S |   12 +++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index e789ee7..8997de2 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -254,7 +254,11 @@ hardware_interrupt_hv:
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
 
-   MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
+   . = 0x900
+   .globl decrementer_pSeries
+decrementer_pSeries:
+   b   decrementer_pSeries_0
+
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
 
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
@@ -536,6 +540,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
 #endif
 
.align  7
+   /* moved from 0x900 */
+decrementer_pSeries_0:
+   _MASKABLE_EXCEPTION_PSERIES(0x900, decrementer,
+   EXC_STD, SOFTEN_TEST_PR)
+
+   .align  7
/* moved from 0xe00 */
STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
-- 
1.7.7.6


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang

When CONFIG_KVM_BOOK3S_64_PR is enabled,
MASKABLE_EXCEPTION_PSERIES(0x900 ...) will includes __KVMTEST, it will
exceed 0x980 which STD_EXCEPTION_HV(0x980 ...) will use, it will cause
compiling issue.

The related errors:
arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
arch/powerpc/kernel/exceptions-64s.S:258: Error: attempt to move .org backwards
make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1

The position 0x900 and 0x980 are solid, so can not move the position
to make room larger. The final solution is to jump to another area to
execute the related code.


Signed-off-by: Chen Gang gang.c...@asianux.com
---
 arch/powerpc/kernel/exceptions-64s.S |   12 +++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index e789ee7..8997de2 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -254,7 +254,11 @@ hardware_interrupt_hv:
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
 
-   MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
+   . = 0x900
+   .globl decrementer_pSeries
+decrementer_pSeries:
+   b   decrementer_pSeries_0
+
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
 
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
@@ -536,6 +540,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
 #endif
 
.align  7
+   /* moved from 0x900 */
+decrementer_pSeries_0:
+   _MASKABLE_EXCEPTION_PSERIES(0x900, decrementer,
+   EXC_STD, SOFTEN_TEST_PR)
+
+   .align  7
/* moved from 0xe00 */
STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
-- 
1.7.7.6


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
Hello Mike:

This patch can pass compiling with Mike's config file, under my
cross-compiling environments, but does not run under the real machine,
please try it.

Welcome other members to help check this patch whether valid.

Thanks.


On 2013年04月25日 19:51, Chen Gang wrote:
 
 When CONFIG_KVM_BOOK3S_64_PR is enabled,
 MASKABLE_EXCEPTION_PSERIES(0x900 ...) will includes __KVMTEST, it will
 exceed 0x980 which STD_EXCEPTION_HV(0x980 ...) will use, it will cause
 compiling issue.
 
 The related errors:
 arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
 arch/powerpc/kernel/exceptions-64s.S:258: Error: attempt to move .org 
 backwards
 make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
 
 The position 0x900 and 0x980 are solid, so can not move the position
 to make room larger. The final solution is to jump to another area to
 execute the related code.
 
 
 Signed-off-by: Chen Gang gang.c...@asianux.com
 ---
  arch/powerpc/kernel/exceptions-64s.S |   12 +++-
  1 files changed, 11 insertions(+), 1 deletions(-)
 
 diff --git a/arch/powerpc/kernel/exceptions-64s.S 
 b/arch/powerpc/kernel/exceptions-64s.S
 index e789ee7..8997de2 100644
 --- a/arch/powerpc/kernel/exceptions-64s.S
 +++ b/arch/powerpc/kernel/exceptions-64s.S
 @@ -254,7 +254,11 @@ hardware_interrupt_hv:
   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
  
 - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
 + . = 0x900
 + .globl decrementer_pSeries
 +decrementer_pSeries:
 + b   decrementer_pSeries_0
 +
   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
  
   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
 @@ -536,6 +540,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
  #endif
  
   .align  7
 + /* moved from 0x900 */
 +decrementer_pSeries_0:
 + _MASKABLE_EXCEPTION_PSERIES(0x900, decrementer,
 + EXC_STD, SOFTEN_TEST_PR)
 +
 + .align  7
   /* moved from 0xe00 */
   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
 


-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Michael Neuling
Chen Gang gang.c...@asianux.com wrote:

 
 When CONFIG_KVM_BOOK3S_64_PR is enabled,
 MASKABLE_EXCEPTION_PSERIES(0x900 ...) will includes __KVMTEST, it will
 exceed 0x980 which STD_EXCEPTION_HV(0x980 ...) will use, it will cause
 compiling issue.
 
 The related errors:
 arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
 arch/powerpc/kernel/exceptions-64s.S:258: Error: attempt to move .org 
 backwards
 make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
 
 The position 0x900 and 0x980 are solid, so can not move the position
 to make room larger. The final solution is to jump to another area to
 execute the related code.
 
 
 Signed-off-by: Chen Gang gang.c...@asianux.com
 ---
  arch/powerpc/kernel/exceptions-64s.S |   12 +++-
  1 files changed, 11 insertions(+), 1 deletions(-)
 
 diff --git a/arch/powerpc/kernel/exceptions-64s.S 
 b/arch/powerpc/kernel/exceptions-64s.S
 index e789ee7..8997de2 100644
 --- a/arch/powerpc/kernel/exceptions-64s.S
 +++ b/arch/powerpc/kernel/exceptions-64s.S
 @@ -254,7 +254,11 @@ hardware_interrupt_hv:
   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
  
 - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
 + . = 0x900
 + .globl decrementer_pSeries
 +decrementer_pSeries:
 + b   decrementer_pSeries_0
 +

Unfortunately you can't do this ether as we need to save the CFAR[1]
before it's overwritten by any branch. MASKABLE_EXCEPTION_PSERIES does
this.

CFAR is the Come From Register.  It saves the location of the last
branch and is hence overwritten by any branch.

Thanks for trying.

Mikey

   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
  
   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
 @@ -536,6 +540,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
  #endif
  
   .align  7
 + /* moved from 0x900 */
 +decrementer_pSeries_0:
 + _MASKABLE_EXCEPTION_PSERIES(0x900, decrementer,
 + EXC_STD, SOFTEN_TEST_PR)
 +
 + .align  7
   /* moved from 0xe00 */
   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
 -- 
 1.7.7.6
 
 
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 07:16, Michael Neuling wrote:
  diff --git a/arch/powerpc/kernel/exceptions-64s.S 
  b/arch/powerpc/kernel/exceptions-64s.S
  index e789ee7..8997de2 100644
  --- a/arch/powerpc/kernel/exceptions-64s.S
  +++ b/arch/powerpc/kernel/exceptions-64s.S
  @@ -254,7 +254,11 @@ hardware_interrupt_hv:
 STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
 KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
   
  -  MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
  +  . = 0x900
  +  .globl decrementer_pSeries
  +decrementer_pSeries:
  +  b   decrementer_pSeries_0
  +
 Unfortunately you can't do this ether as we need to save the CFAR[1]
 before it's overwritten by any branch. MASKABLE_EXCEPTION_PSERIES does
 this.
 

Thanks for your checking.

 CFAR is the Come From Register.  It saves the location of the last
 branch and is hence overwritten by any branch.
 

Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
. = 0x900
.globl decrementer_pSeries
decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
SET_SCRATCH0(r13)
b decrementer_pSeries_0

...


 Thanks for trying.
 

Not at all, before get fixed by other members, I should continue trying.

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the last
  branch and is hence overwritten by any branch.
  
 Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
   . = 0x900
   .globl decrementer_pSeries
 decrementer_pSeries:
   HMT_MEDIUM_PPR_DISCARD
   SET_SCRATCH0(r13)
   b decrementer_pSeries_0
 
   ...
 
 

Such as the fix below, is it OK (just like 0x300 or 0x200 has done) ?

Please check, thanks.

---diff begin-

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index e789ee7..a0a5ff2 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -254,7 +254,14 @@ hardware_interrupt_hv:
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
 
-   MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
+   . = 0x900
+   .globl decrementer_pSeries
+decrementer_pSeries:
+   HMT_MEDIUM_PPR_DISCARD
+   SET_SCRATCH0(r13)   /* save r13 */
+   EXCEPTION_PROLOG_0(PACA_EXGEN)
+   b   decrementer_pSeries_0
+
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
 
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
@@ -536,6 +543,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
 #endif
 
.align  7
+   /* moved from 0x900 */
+decrementer_pSeries_0:
+   EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
+   EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
+
+   .align  7
/* moved from 0xe00 */
STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)

---diff end---

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 09:18, Chen Gang wrote:
 On 2013年04月26日 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the last
 branch and is hence overwritten by any branch.

 Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
  . = 0x900
  .globl decrementer_pSeries
 decrementer_pSeries:
  HMT_MEDIUM_PPR_DISCARD
  SET_SCRATCH0(r13)
  b decrementer_pSeries_0

  ...



Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

-diff v2 begin-

diff --git a/arch/powerpc/kernel/exceptions-64s.S 
b/arch/powerpc/kernel/exceptions-64s.S
index e789ee7..f0489c4 100644
--- a/arch/powerpc/kernel/exceptions-64s.S
+++ b/arch/powerpc/kernel/exceptions-64s.S
@@ -254,7 +254,15 @@ hardware_interrupt_hv:
STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
 
-   MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
+   . = 0x900
+   .globl decrementer_pSeries
+decrementer_pSeries:
+   HMT_MEDIUM_PPR_DISCARD
+   SET_SCRATCH0(r13)   /* save r13 */
+   EXCEPTION_PROLOG_0(PACA_EXGEN)
+   EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
+   b   decrementer_pSeries_0
+
STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
 
MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
@@ -536,6 +544,11 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
 #endif
 
.align  7
+   /* moved from 0x900 */
+decrementer_pSeries_0:
+   EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
+
+   .align  7
/* moved from 0xe00 */
STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)


-diff v2 end---


 
 Such as the fix below, is it OK (just like 0x300 or 0x200 has done) ?
 
 Please check, thanks.
 
 ---diff begin-
 
 diff --git a/arch/powerpc/kernel/exceptions-64s.S 
 b/arch/powerpc/kernel/exceptions-64s.S
 index e789ee7..a0a5ff2 100644
 --- a/arch/powerpc/kernel/exceptions-64s.S
 +++ b/arch/powerpc/kernel/exceptions-64s.S
 @@ -254,7 +254,14 @@ hardware_interrupt_hv:
   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
  
 - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
 + . = 0x900
 + .globl decrementer_pSeries
 +decrementer_pSeries:
 + HMT_MEDIUM_PPR_DISCARD
 + SET_SCRATCH0(r13)   /* save r13 */
 + EXCEPTION_PROLOG_0(PACA_EXGEN)
 + b   decrementer_pSeries_0
 +
   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
  
   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
 @@ -536,6 +543,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
  #endif
  
   .align  7
 + /* moved from 0x900 */
 +decrementer_pSeries_0:
 + EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
 + EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
 +
 + .align  7
   /* moved from 0xe00 */
   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)
 
 ---diff end---
 


-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Mike Qiu
于 2013/4/26 9:36, Chen Gang 写道:
 On 2013年04月26日 09:18, Chen Gang wrote:
 On 2013年04月26日 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the last
 branch and is hence overwritten by any branch.

 Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
 . = 0x900
 .globl decrementer_pSeries
 decrementer_pSeries:
 HMT_MEDIUM_PPR_DISCARD
 SET_SCRATCH0(r13)
 b decrementer_pSeries_0

 ...


 Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
 with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up
 -diff v2 begin-

 diff --git a/arch/powerpc/kernel/exceptions-64s.S 
 b/arch/powerpc/kernel/exceptions-64s.S
 index e789ee7..f0489c4 100644
 --- a/arch/powerpc/kernel/exceptions-64s.S
 +++ b/arch/powerpc/kernel/exceptions-64s.S
 @@ -254,7 +254,15 @@ hardware_interrupt_hv:
   STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
   KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)

 - MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
 + . = 0x900
 + .globl decrementer_pSeries
 +decrementer_pSeries:
 + HMT_MEDIUM_PPR_DISCARD
 + SET_SCRATCH0(r13)   /* save r13 */
 + EXCEPTION_PROLOG_0(PACA_EXGEN)
 + EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
 + b   decrementer_pSeries_0
 +
   STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)

   MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
 @@ -536,6 +544,11 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
  #endif

   .align  7
 + /* moved from 0x900 */
 +decrementer_pSeries_0:
 + EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
 +
 + .align  7
   /* moved from 0xe00 */
   STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
   KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)


 -diff v2 end---


 Such as the fix below, is it OK (just like 0x300 or 0x200 has done) ?

 Please check, thanks.

 ---diff begin-

 diff --git a/arch/powerpc/kernel/exceptions-64s.S 
 b/arch/powerpc/kernel/exceptions-64s.S
 index e789ee7..a0a5ff2 100644
 --- a/arch/powerpc/kernel/exceptions-64s.S
 +++ b/arch/powerpc/kernel/exceptions-64s.S
 @@ -254,7 +254,14 @@ hardware_interrupt_hv:
  STD_EXCEPTION_PSERIES(0x800, 0x800, fp_unavailable)
  KVM_HANDLER_PR(PACA_EXGEN, EXC_STD, 0x800)
  
 -MASKABLE_EXCEPTION_PSERIES(0x900, 0x900, decrementer)
 +. = 0x900
 +.globl decrementer_pSeries
 +decrementer_pSeries:
 +HMT_MEDIUM_PPR_DISCARD
 +SET_SCRATCH0(r13)   /* save r13 */
 +EXCEPTION_PROLOG_0(PACA_EXGEN)
 +b   decrementer_pSeries_0
 +
  STD_EXCEPTION_HV(0x980, 0x982, hdecrementer)
  
  MASKABLE_EXCEPTION_PSERIES(0xa00, 0xa00, doorbell_super)
 @@ -536,6 +543,12 @@ ALT_FTR_SECTION_END_IFCLR(CPU_FTR_ARCH_206)
  #endif
  
  .align  7
 +/* moved from 0x900 */
 +decrementer_pSeries_0:
 +EXCEPTION_PROLOG_1(PACA_EXGEN, SOFTEN_TEST_PR, 0x900)
 +EXCEPTION_PROLOG_PSERIES_1(decrementer_common, EXC_STD)
 +
 +.align  7
  /* moved from 0xe00 */
  STD_EXCEPTION_HV_OOL(0xe02, h_data_storage)
  KVM_HANDLER_SKIP(PACA_EXGEN, EXC_HV, 0xe02)

 ---diff end---



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 10:03, Mike Qiu wrote:
 �� 2013/4/26 9:36, Chen Gang �:
  On 2013��04��26�� 09:18, Chen Gang wrote:
  On 2013��04��26�� 09:06, Chen Gang wrote:
  CFAR is the Come From Register.  It saves the location of the last
  branch and is hence overwritten by any branch.
 
  Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
 . = 0x900
 .globl decrementer_pSeries
  decrementer_pSeries:
 HMT_MEDIUM_PPR_DISCARD
 SET_SCRATCH0(r13)
 b decrementer_pSeries_0
 
 ...
 
 
  Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
  with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
 I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)

:-)

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Mike Qiu

于 2013/4/26 10:06, Chen Gang 写道:

On 2013年04月26日 10:03, Mike Qiu wrote:

�� 2013/4/26 9:36, Chen Gang �:

On 2013��04��26�� 09:18, Chen Gang wrote:

On 2013��04��26�� 09:06, Chen Gang wrote:

CFAR is the Come From Register.  It saves the location of the last

branch and is hence overwritten by any branch.


Do we process it just like others done (e.g. 0x300, 0xe00, 0xe20 ...) ?
. = 0x900
.globl decrementer_pSeries
decrementer_pSeries:
HMT_MEDIUM_PPR_DISCARD
SET_SCRATCH0(r13)
b decrementer_pSeries_0

...



Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)
It seems that the machine can be bootup in powernv mode, but I'm not 
sure if my machine call that module.


At lease my machine can boot up

Thanks
Mike


:-)



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 11:08, Mike Qiu wrote:
 于 2013/4/26 10:06, Chen Gang 写道:
 On 2013年04月26日 10:03, Mike Qiu wrote:
 �� 2013/4/26 9:36, Chen Gang �:
 On 2013��04��26�� 09:18, Chen Gang wrote:
 On 2013��04��26�� 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the
 last
 branch and is hence overwritten by any branch.

 Do we process it just like others done (e.g. 0x300, 0xe00,
 0xe20 ...) ?
 . = 0x900
 .globl decrementer_pSeries
 decrementer_pSeries:
   HMT_MEDIUM_PPR_DISCARD
 SET_SCRATCH0(r13)
 b decrementer_pSeries_0

 ...


 Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
 with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
 I will try your diff V2, to see if the machine can boot up
 OK, thanks. (hope it can work)
 It seems that the machine can be bootup in powernv mode, but I'm not
 sure if my machine call that module.
 
 At lease my machine can boot up

Thank you for your information !

I have checked the disassemble by powerpc64-linux-gnu-objdump, it seems
all we have done for 0x900 is almost like the original done for 0x200.

I am just learning about the CFAR (google it), And I plan to wait for a
day, if all things go smoothly, I will send patch v3.


:-)

-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Chen Gang
On 2013年04月26日 11:25, Chen Gang wrote:
 On 2013年04月26日 11:08, Mike Qiu wrote:
 于 2013/4/26 10:06, Chen Gang 写道:
 On 2013年04月26日 10:03, Mike Qiu wrote:
 �� 2013/4/26 9:36, Chen Gang �:
 On 2013��04��26�� 09:18, Chen Gang wrote:
 On 2013��04��26�� 09:06, Chen Gang wrote:
 CFAR is the Come From Register.  It saves the location of the
 last
 branch and is hence overwritten by any branch.

 Do we process it just like others done (e.g. 0x300, 0xe00,
 0xe20 ...) ?
 . = 0x900
 .globl decrementer_pSeries
 decrementer_pSeries:
   HMT_MEDIUM_PPR_DISCARD
 SET_SCRATCH0(r13)
 b decrementer_pSeries_0

 ...


 Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
 with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.
 I will try your diff V2, to see if the machine can boot up
 OK, thanks. (hope it can work)
 It seems that the machine can be bootup in powernv mode, but I'm not
 sure if my machine call that module.

 At lease my machine can boot up
 

Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
(1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)

What our diff v2 has done is just the fix for our patch v2 (just like
the commit 1707dd1 has done).

Please check, thanks.

:-)

 Thank you for your information !
 
 I have checked the disassemble by powerpc64-linux-gnu-objdump, it seems
 all we have done for 0x900 is almost like the original done for 0x200.
 
 I am just learning about the CFAR (google it), And I plan to wait for a
 day, if all things go smoothly, I will send patch v3.
 
 
 :-)
 


-- 
Chen Gang

Asianux Corporation
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] PowerPC: kernel: compiling issue, make additional room in exception vector area

2013-04-25 Thread Mike Qiu

于 2013/4/26 11:42, Chen Gang 写道:

On 2013年04月26日 11:25, Chen Gang wrote:

On 2013年04月26日 11:08, Mike Qiu wrote:

于 2013/4/26 10:06, Chen Gang 写道:

On 2013年04月26日 10:03, Mike Qiu wrote:

�� 2013/4/26 9:36, Chen Gang �:

On 2013��04��26�� 09:18, Chen Gang wrote:

On 2013��04��26�� 09:06, Chen Gang wrote:

CFAR is the Come From Register.  It saves the location of the
last

branch and is hence overwritten by any branch.


Do we process it just like others done (e.g. 0x300, 0xe00,
0xe20 ...) ?
 . = 0x900
 .globl decrementer_pSeries
decrementer_pSeries:
   HMT_MEDIUM_PPR_DISCARD
 SET_SCRATCH0(r13)
 b decrementer_pSeries_0

 ...



Oh, it seems EXCEPTION_PROLOG_1 will save the regesters which related
with CFAR, so I think need move EXCEPTION_PROLOG_1 to near 0x900.

I will try your diff V2, to see if the machine can boot up

OK, thanks. (hope it can work)

It seems that the machine can be bootup in powernv mode, but I'm not
sure if my machine call that module.

At lease my machine can boot up

Please reference commit number: 1707dd161349e6c54170c88d94fed012e3d224e3
(1707dd1 powerpc: Save CFAR before branching in interrupt entry paths)

What our diff v2 has done is just the fix for our patch v2 (just like
the commit 1707dd1 has done).

Please check, thanks.

:-)
I will check this evening or tomorrow, I have something else to do this 
afteroon.

Thank you for your information !

I have checked the disassemble by powerpc64-linux-gnu-objdump, it seems
all we have done for 0x900 is almost like the original done for 0x200.

I am just learning about the CFAR (google it), And I plan to wait for a
day, if all things go smoothly, I will send patch v3.


:-)





--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/