On Mon, Aug 26, 2024 at 11:42:44AM +0200, Stefan Kalkowski wrote:
> > I have checked bits and pieces. I believe that irq 30 is the timer
> > according to the manual. The gic should work , it did on RK3588.
> > Not sure if they are critical , but both is 0x1.
> > ICC_IGRPEN0_EL1
> > ICC_IGRPEN1_EL1
> > 
> > >
> > > Just a shot in the dark: you told us that you stepped from EL3 to EL2
> > > in u-boot?! Maybe you just switched the exception-level without
> > > further preparation of additional peripherals (like GIC) normally done
> > > by the TrustZone firmware?
> > > I assume that the GIC's default register values are initialized in
> > > a way that interrupts are marked "secure", and thereby cannot be
> > > enabled by the normal world resp. the hw kernel then. One way to proof
> > > this would be to lookup the Igroup registers of the GIC's redistributor
> > > interface while the CPU is still in EL3 (shortly before switching to
> > > EL2).
> > 
> > Do you refer to the above regs? If I need to access GIC memory mapped
> > I need somes extra code.
> 
> No, the ICC_IGREN* register belong to the cpu local interface of the
> GIC. What I meant are global ones that belong to the GIC's
> redistributor interface.
> In general the GIC's memory mapped I/O registers are accessed already
> within the Hw::Pic constructor within
> `repos/base-hw/src/bootstrap/spec/arm/gicv3.cc`. The constructor is
> used explicitly within the EL2 codepath of the
> `Bootstrap::Platform::enable_mmu()` for Cortex A53. If you really
> start in EL3, at least part of that code should be executed in EL3. In
> that case, you could duplicate the Pic initialization before entering
> `prepare_non_secure_world` as a first try.

I have to correct myself. We already initialize the Pic alias Gicv3
within EL3 (if booting to it), as well as in EL2.
In EL2 this is done explicitly within
`Bootstrap::Platform::enable_mmu()` asstated before. But in general,
it is done within `Bootstrap::Platform::Board::Board()`, which is
executed before `enable_mmu` (in EL3 if booted in EL3).

-- 
Stefan Kalkowski
Genode labs

https://github.com/skalk | https://genode.org
_______________________________________________
users mailing list -- users@lists.genode.org
To unsubscribe send an email to users-le...@lists.genode.org
Archived at 
https://lists.genode.org/mailman3/hyperkitty/list/users@lists.genode.org/message/3PCXA2O3YOU346PHWEYL56YB4QC2U6UO/

Reply via email to