Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-28 Thread Jan Kiszka
On 2014-11-10 14:36, Marc Zyngier wrote:
 On 10/11/14 13:25, Jan Kiszka wrote:
 On 2014-11-10 14:08, Marc Zyngier wrote:
 On 10/11/14 12:51, Jan Kiszka wrote:
 Hi Marc,

 what is the motivation to expose a PSCI 0.1 interface in U-boot, instead
 of 0.2? Support for preexisting users of 0.1? The kernel seems to be
 happy with both, and I'm now wondering if we should actually add the
 legacy version to Jailhouse as well (I hope we can avoid this).

 The initial rational was simple: at the time this code was written, the
 0.2 spec still in review, and nobody was implementing it. Supporting 0.1
 was the only viable use-case.

 Still studying the logic: Is it possible to provide both interfaces, and
 would it make sense?

 Supporting both is very easy. Just output the 0.2 function numbers that
 actually make sense for 0.1 and have both compatible strings.

 Ah, cool - parameters and return values of, say, CPU_ON/OFF are
 compatible across both versions?
 
 That was the idea of the spec (broadly compatible across revisions...).

There is one major problem with v0.2, though, and I bet this also
applies to the ARMv8 implementation:

v0.2 mandates that the firmware provides SYSTEM_RESET - that's rather
simple - and SYSTEM_OFF. The latter seems non-trivial for the sunxi as
the power controller is attached via i2c. I guess that will be quite a
bit of code in the PSCI monitor for a feature that already works fine
for Linux with v0.1. Or am I missing something?

Jan




signature.asc
Description: OpenPGP digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-28 Thread Marc Zyngier
On 28/11/14 08:52, Jan Kiszka wrote:
 On 2014-11-10 14:36, Marc Zyngier wrote:
 On 10/11/14 13:25, Jan Kiszka wrote:
 On 2014-11-10 14:08, Marc Zyngier wrote:
 On 10/11/14 12:51, Jan Kiszka wrote:
 Hi Marc,

 what is the motivation to expose a PSCI 0.1 interface in U-boot, instead
 of 0.2? Support for preexisting users of 0.1? The kernel seems to be
 happy with both, and I'm now wondering if we should actually add the
 legacy version to Jailhouse as well (I hope we can avoid this).

 The initial rational was simple: at the time this code was written, the
 0.2 spec still in review, and nobody was implementing it. Supporting 0.1
 was the only viable use-case.

 Still studying the logic: Is it possible to provide both interfaces, and
 would it make sense?

 Supporting both is very easy. Just output the 0.2 function numbers that
 actually make sense for 0.1 and have both compatible strings.

 Ah, cool - parameters and return values of, say, CPU_ON/OFF are
 compatible across both versions?

 That was the idea of the spec (broadly compatible across revisions...).
 
 There is one major problem with v0.2, though, and I bet this also
 applies to the ARMv8 implementation:
 
 v0.2 mandates that the firmware provides SYSTEM_RESET - that's rather
 simple - and SYSTEM_OFF. The latter seems non-trivial for the sunxi as
 the power controller is attached via i2c. I guess that will be quite a
 bit of code in the PSCI monitor for a feature that already works fine
 for Linux with v0.1. Or am I missing something?

I seem to remember that you're allowed to return something like Not
Implemented (of course, I could be wrong).

But even that is not that hard. I'm pretty sure the i2c pins can be
switched to be GPIOs, and bit-banging i2c is not too difficult (see
drivers/i2c/algos/i2c-algo-bit.c).

I was hoping for something slightly simpler though...

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-28 Thread Jan Kiszka
On 2014-11-28 11:05, Marc Zyngier wrote:
 On 28/11/14 08:52, Jan Kiszka wrote:
 On 2014-11-10 14:36, Marc Zyngier wrote:
 On 10/11/14 13:25, Jan Kiszka wrote:
 On 2014-11-10 14:08, Marc Zyngier wrote:
 On 10/11/14 12:51, Jan Kiszka wrote:
 Hi Marc,

 what is the motivation to expose a PSCI 0.1 interface in U-boot, instead
 of 0.2? Support for preexisting users of 0.1? The kernel seems to be
 happy with both, and I'm now wondering if we should actually add the
 legacy version to Jailhouse as well (I hope we can avoid this).

 The initial rational was simple: at the time this code was written, the
 0.2 spec still in review, and nobody was implementing it. Supporting 0.1
 was the only viable use-case.

 Still studying the logic: Is it possible to provide both interfaces, and
 would it make sense?

 Supporting both is very easy. Just output the 0.2 function numbers that
 actually make sense for 0.1 and have both compatible strings.

 Ah, cool - parameters and return values of, say, CPU_ON/OFF are
 compatible across both versions?

 That was the idea of the spec (broadly compatible across revisions...).

 There is one major problem with v0.2, though, and I bet this also
 applies to the ARMv8 implementation:

 v0.2 mandates that the firmware provides SYSTEM_RESET - that's rather
 simple - and SYSTEM_OFF. The latter seems non-trivial for the sunxi as
 the power controller is attached via i2c. I guess that will be quite a
 bit of code in the PSCI monitor for a feature that already works fine
 for Linux with v0.1. Or am I missing something?
 
 I seem to remember that you're allowed to return something like Not
 Implemented (of course, I could be wrong).

The spec says that both SYSTEM functions do not return, thus also return
no error code.

 
 But even that is not that hard. I'm pretty sure the i2c pins can be
 switched to be GPIOs, and bit-banging i2c is not too difficult (see
 drivers/i2c/algos/i2c-algo-bit.c).

I'm still searching for specs that describe all the interfaces and chips...

 
 I was hoping for something slightly simpler though...

What concerns me in addition are potential variations due to different
boards and such - the PSCI code base may quickly grow. Too bad the
standard does not allow this to be optional. Then it could be activated
as needed, e.g. when running in a hypervisor.

Jan




signature.asc
Description: OpenPGP digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-10 Thread Marc Zyngier
On 10/11/14 12:51, Jan Kiszka wrote:
 Hi Marc,
 
 what is the motivation to expose a PSCI 0.1 interface in U-boot, instead
 of 0.2? Support for preexisting users of 0.1? The kernel seems to be
 happy with both, and I'm now wondering if we should actually add the
 legacy version to Jailhouse as well (I hope we can avoid this).

The initial rational was simple: at the time this code was written, the
0.2 spec still in review, and nobody was implementing it. Supporting 0.1
was the only viable use-case.

 Still studying the logic: Is it possible to provide both interfaces, and
 would it make sense?

Supporting both is very easy. Just output the 0.2 function numbers that
actually make sense for 0.1 and have both compatible strings.

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-10 Thread Jan Kiszka
On 2014-11-10 14:08, Marc Zyngier wrote:
 On 10/11/14 12:51, Jan Kiszka wrote:
 Hi Marc,

 what is the motivation to expose a PSCI 0.1 interface in U-boot, instead
 of 0.2? Support for preexisting users of 0.1? The kernel seems to be
 happy with both, and I'm now wondering if we should actually add the
 legacy version to Jailhouse as well (I hope we can avoid this).
 
 The initial rational was simple: at the time this code was written, the
 0.2 spec still in review, and nobody was implementing it. Supporting 0.1
 was the only viable use-case.
 
 Still studying the logic: Is it possible to provide both interfaces, and
 would it make sense?
 
 Supporting both is very easy. Just output the 0.2 function numbers that
 actually make sense for 0.1 and have both compatible strings.

Ah, cool - parameters and return values of, say, CPU_ON/OFF are
compatible across both versions?

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-10 Thread Jan Kiszka
On 2014-11-10 14:29, bhupesh.sha...@freescale.com wrote:
 Hi, 
 
 -Original Message-
 From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de]
 On Behalf Of Jan Kiszka
 Sent: Monday, November 10, 2014 6:56 PM
 To: Marc Zyngier
 Cc: u-boot@lists.denx.de
 Subject: Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

 On 2014-11-10 14:08, Marc Zyngier wrote:
 On 10/11/14 12:51, Jan Kiszka wrote:
 Hi Marc,

 what is the motivation to expose a PSCI 0.1 interface in U-boot,
 instead of 0.2? Support for preexisting users of 0.1? The kernel
 seems to be happy with both, and I'm now wondering if we should
 actually add the legacy version to Jailhouse as well (I hope we can
 avoid this).

 The initial rational was simple: at the time this code was written,
 the
 0.2 spec still in review, and nobody was implementing it. Supporting
 0.1 was the only viable use-case.

 Still studying the logic: Is it possible to provide both interfaces,
 and would it make sense?

 Supporting both is very easy. Just output the 0.2 function numbers
 that actually make sense for 0.1 and have both compatible strings.

 Ah, cool - parameters and return values of, say, CPU_ON/OFF are
 compatible across both versions?

 Jan

 --
 
 We did send out some ARMv8 PSCI v0.2 u-boot patches, which can be seen here:
 
 http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/194210

Nice. I guess that could be reused for ARMv7 as well, at least
conceptually. You are using C for some PSCI functions, specifically for
cache flushing? Need to dig deeper...

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-10 Thread Marc Zyngier
On 10/11/14 13:25, Jan Kiszka wrote:
 On 2014-11-10 14:08, Marc Zyngier wrote:
 On 10/11/14 12:51, Jan Kiszka wrote:
 Hi Marc,

 what is the motivation to expose a PSCI 0.1 interface in U-boot, instead
 of 0.2? Support for preexisting users of 0.1? The kernel seems to be
 happy with both, and I'm now wondering if we should actually add the
 legacy version to Jailhouse as well (I hope we can avoid this).

 The initial rational was simple: at the time this code was written, the
 0.2 spec still in review, and nobody was implementing it. Supporting 0.1
 was the only viable use-case.

 Still studying the logic: Is it possible to provide both interfaces, and
 would it make sense?

 Supporting both is very easy. Just output the 0.2 function numbers that
 actually make sense for 0.1 and have both compatible strings.
 
 Ah, cool - parameters and return values of, say, CPU_ON/OFF are
 compatible across both versions?

That was the idea of the spec (broadly compatible across revisions...).

Thanks,

M.
-- 
Jazz is not dead. It just smells funny...

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] ARM: PSCI 0.1 vs 0.2

2014-11-10 Thread bhupesh.sha...@freescale.com
Hi, 

 -Original Message-
 From: u-boot-boun...@lists.denx.de [mailto:u-boot-boun...@lists.denx.de]
 On Behalf Of Jan Kiszka
 Sent: Monday, November 10, 2014 6:56 PM
 To: Marc Zyngier
 Cc: u-boot@lists.denx.de
 Subject: Re: [U-Boot] ARM: PSCI 0.1 vs 0.2
 
 On 2014-11-10 14:08, Marc Zyngier wrote:
  On 10/11/14 12:51, Jan Kiszka wrote:
  Hi Marc,
 
  what is the motivation to expose a PSCI 0.1 interface in U-boot,
  instead of 0.2? Support for preexisting users of 0.1? The kernel
  seems to be happy with both, and I'm now wondering if we should
  actually add the legacy version to Jailhouse as well (I hope we can
 avoid this).
 
  The initial rational was simple: at the time this code was written,
  the
  0.2 spec still in review, and nobody was implementing it. Supporting
  0.1 was the only viable use-case.
 
  Still studying the logic: Is it possible to provide both interfaces,
  and would it make sense?
 
  Supporting both is very easy. Just output the 0.2 function numbers
  that actually make sense for 0.1 and have both compatible strings.
 
 Ah, cool - parameters and return values of, say, CPU_ON/OFF are
 compatible across both versions?
 
 Jan
 
 --

We did send out some ARMv8 PSCI v0.2 u-boot patches, which can be seen here:

http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/194210

Regards,
Bhupesh
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot