Hi,

I have the below setup for Linux inmate:
* Use initramfs
* UART is enabled 
* eMMC is enabled

In the inmate cell I have the below:
    .irqchips = {
        /* GIC */ {
            .address = 0xf1010000,
            .pin_base = 128,
            .pin_bitmap = {
                1 << (153+32 - 160), /* SCIF1 - SPI153 */
            },
        },
        /* GIC */ {
            .address = 0xf1010000,
            .pin_base = 160,
            .pin_bitmap = {
                1 << (168+32 - 192), /* SDHI3 - SPI168 */
            },
        },
    },

And in the inmate DTS I have the below:

        scif1: serial@e6e68000 {
            compatible = "renesas,scif-r8a774a1",
                      "renesas,rcar-gen3-scif", "renesas,scif";
            reg = <0 0xe6e68000 0 0x40>;
            interrupt-parent = <&gic>;
            interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&cpg CPG_MOD 206>,
                 <&cpg CPG_CORE R8A774A1_CLK_S3D1>,
                 <&scif_clk>;
            clock-names = "fck", "brg_int", "scif_clk";
            power-domains = <&sysc R8A774A1_PD_ALWAYS_ON>;
            resets = <&cpg 206>;
            pinctrl-0 = <&scif1_pins>;
            pinctrl-names = "default";
        };

        gic: interrupt-controller@f1010000 {
            compatible = "arm,gic-400";
            #interrupt-cells = <3>;
            #address-cells = <0>;
            interrupt-controller;
            reg = <0x0 0xf1010000 0 0x1000>,
                  <0x0 0xf102f000 0 0x20000>,
                  <0x0 0xf1040000 0 0x20000>,
                  <0x0 0xf106f000 0 0x20000>;
            interrupts = <GIC_PPI 9
                    (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
        };

When Linux is started on the inmate cell, I can see its booting through but 
it doesn't  fall into shell.

--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -341,6 +341,9 @@ static void __exception_irq_entry gic_handle_irq(struct 
pt_regs *regs)
                irqstat = readl_relaxed(cpu_base + GIC_CPU_INTACK);
                irqnr = irqstat & GICC_IAR_INT_ID_MASK;
 
+               if (irqnr < 1020)
+                       pr_err(">>>>>>>>>>>>>>>>%s We received 
IRQ:%u<<<<<<<<<<<<<<\n", __func__, irqnr);
+
                if (unlikely(irqnr >= 1020))
                        break;

I added the above and I can see the Linux inmate receives only 0/1/27 
interrupts. 

Which gives me a feeling the Linux inmate isn't receiving the required 
interrupts.

Any pointers on where I should be looking into?
 
Cheers,
Prabhakar

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jailhouse-dev/003480a3-4384-45f2-87c6-e7badb3ef40an%40googlegroups.com.
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd073]
[    0.000000] Linux version 5.10.31+ (prasmi@prasmi) (aarch64-linux-gnu-gcc 
(Linaro GCC 7.5-2019.12) 7.5.0, GNU ld (Linaro_Binutils-2019.12) 
2.28.2.20170706) #72 SMP PREEMPT Mon Jun 6 19:09:39 BST 2022
[    0.000000] Machine model: Jailhouse cell on HopeRun HiHope RZ/G2M main 
board based on r8a774a1
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 16 MiB at 0x0000000078000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 
0x000000005f400000-0x0000000078ffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x77f28b00-0x77f2afff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x000000005f400000-0x0000000078ffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x000000005f400000-0x0000000078ffffff]
[    0.000000] Initmem setup node 0 [mem 0x000000005f400000-0x0000000078ffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 22 pages/cpu s50200 r8192 d31720 u90112
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v2
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 103824
[    0.000000] Policy zone: DMA
[    0.000000] Kernel command line: debug loglevel=7 clk_ignore_unused
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, 
linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, 
linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 367516K/421888K available (11072K kernel code, 1062K 
rwdata, 3908K rodata, 3072K init, 478K bss, 37988K reserved, 16384K 
cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 
jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] random: get_random_bytes called from start_kernel+0x32c/0x4f8 
with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 8.33MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff 
max_cycles: 0x1ec02923e, max_idle_ns: 440795202125 ns
[    0.000009] sched_clock: 56 bits at 8MHz, resolution 120ns, wraps every 
2199023255496ns
[    0.000184] Console: colour dummy device 80x25
[    0.000732] printk: console [tty0] enabled
[    0.000857] Calibrating delay loop (skipped), value calculated using timer 
frequency.. 16.66 BogoMIPS (lpj=33333)
[    0.000904] pid_max: default: 32768 minimum: 301
[    0.001059] LSM: Security Framework initializing
[    0.001179] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, 
linear)
[    0.001217] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, 
linear)
[    0.004159] rcu: Hierarchical SRCU implementation.
[    0.004869] Detected Renesas RZ/G2 r8a774a1 ES1.3
[    0.005517] EFI services will not be available.
[    0.006050] smp: Bringing up secondary CPUs ...
[    0.006923] Detected PIPT I-cache on CPU1
[    0.007119] CPU1: Booted secondary processor 0x0000000001 [0x411fd073]
[    0.007341] smp: Brought up 1 node, 2 CPUs
[    0.007399] SMP: Total of 2 processors activated.
[    0.007425] CPU features: detected: 32-bit EL0 Support
[    0.007449] CPU features: detected: CRC32 instructions
[    0.038814] CPU: All CPU(s) started at EL1
[    0.038912] alternatives: patching kernel code
[    0.040405] devtmpfs: initialized
[    0.043215] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, 
max_idle_ns: 7645041785100000 ns
[    0.043279] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.043992] pinctrl core: initialized pinctrl subsystem
[    0.045078] DMI not present or invalid.
[    0.046009] NET: Registered protocol family 16
[    0.048752] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.048982] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic 
allocations
[    0.049217] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic 
allocations
[    0.049335] audit: initializing netlink subsys (disabled)
[    0.049719] audit: type=2000 audit(0.048:1): state=initialized 
audit_enabled=0 res=1
[    0.050612] thermal_sys: Registered thermal governor 'step_wise'
[    0.050751] cpuidle: using governor menu
[    0.050960] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.051102] ASID allocator initialised with 65536 entries
[    0.051542] Serial: AMBA PL011 UART driver
[    0.057454] sh-pfc e6060000.pinctrl: r8a774a1_pfc support registered
[    0.070619] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.070665] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.070691] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.070715] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    0.073676] cryptd: max_cpu_qlen set to 1000
[    0.078653] ACPI: Interpreter disabled.
[    0.080237] renesas-cpg-mssr e6150000.clock-controller: MSTP 402/rwdt ON
[    0.080345] renesas-cpg-mssr e6150000.clock-controller: MSTP 408/intc-ap ON
[    0.082124] renesas-cpg-mssr e6150000.clock-controller: cpg_mssr_probe CPG 
registered
[    0.083266] iommu: Default domain type: Translated
[    0.083582] vgaarb: loaded
[    0.084092] SCSI subsystem initialized
[    0.084958] usbcore: registered new interface driver usbfs
[    0.085047] usbcore: registered new interface driver hub
[    0.085118] usbcore: registered new device driver usb
[    0.085552] pps_core: LinuxPPS API ver. 1 registered
[    0.085579] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo 
Giometti <[email protected]>
[    0.085624] PTP clock support registered
[    0.087720] clocksource: Switched to clocksource arch_sys_counter
[    0.088046] VFS: Disk quotas dquot_6.6.0
[    0.088161] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.088515] pnp: PnP ACPI: disabled
[    0.103936] NET: Registered protocol family 2
[    0.104865] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 
bytes, linear)
[    0.105023] TCP established hash table entries: 4096 (order: 3, 32768 bytes, 
linear)
[    0.105125] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.105270] TCP: Hash tables configured (established 4096 bind 4096)
[    0.105435] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.105495] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.105726] NET: Registered protocol family 1
[    0.106750] RPC: Registered named UNIX socket transport module.
[    0.106786] RPC: Registered udp transport module.
[    0.106806] RPC: Registered tcp transport module.
[    0.106825] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.106854] PCI: CLS 0 bytes, default 64
[    0.210298] Initialise system trusted keyrings
[    0.210656] workingset: timestamp_bits=42 max_order=17 bucket_order=0
[    0.221485] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.222782] NFS: Registering the id_resolver key type
[    0.222845] Key type id_resolver registered
[    0.222868] Key type id_legacy registered
[    0.223045] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.223072] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver 
Registering...
[    0.223401] 9p: Installing v9fs 9p2000 file system support
[    0.315084] Key type asymmetric registered
[    0.315124] Asymmetric key parser 'x509' registered
[    0.315214] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 
248)
[    0.315244] io scheduler mq-deadline registered
[    0.315265] io scheduler kyber registered
[    0.317842] gpio_rcar e6055400.gpio: driving 32 GPIOs
[    0.326649] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.328678] SuperH (H)SCI(F) driver initialized
[    0.329583] e6e68000.serial: ttySC0 at MMIO 0xe6e68000 (irq = 15, base_baud 
= 0) is a scif
[    0.329644] renesas-cpg-mssr e6150000.clock-controller: MSTP 206/scif1 ON
[    1.114446] printk: console [ttySC0] enabled
[    1.132479] loop: module loaded
[    1.138321] libphy: Fixed MDIO Bus: probed
[    1.143460] tun: Universal TUN/TAP device driver, 1.6
[    1.149460] e1000e: Intel(R) PRO/1000 Network Driver
[    1.154512] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    1.160570] igb: Intel(R) Gigabit Ethernet Network Driver
[    1.166037] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.171756] igbvf: Intel(R) Gigabit Virtual Function Network Driver
[    1.178090] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    1.184205] sky2: driver version 1.30
[    1.188824] VFIO - User Level meta-driver version: 0.3
[    1.195522] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.202200] ehci-pci: EHCI PCI platform driver
[    1.206781] ehci-platform: EHCI generic platform driver
[    1.212198] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.218484] ohci-pci: OHCI PCI platform driver
[    1.223070] ohci-platform: OHCI generic platform driver
[    1.228780] usbcore: registered new interface driver usb-storage
[    1.236347] i2c /dev entries driver
[    1.240933] sdhci: Secure Digital Host Controller Interface driver
[    1.247193] sdhci: Copyright(c) Pierre Ossman
[    1.251921] Synopsys Designware Multimedia Card Interface Driver
[    1.254197] cpg_sd_clock_enable enabling clock
[    1.258327] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.262485] renesas-cpg-mssr e6150000.clock-controller: MSTP 311/sdif3 ON
[    1.276238] ledtrig-cpu: registered to indicate activity on CPUs
[    1.282515] No iBFT detected.
[    1.286398] usbcore: registered new interface driver usbhid
[    1.292054] usbhid: USB HID core driver
[    1.297306] NET: Registered protocol family 10
[    1.303432] Segment Routing with IPv6
[    1.307338] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.313590] renesas_sdhi_internal_dmac ee160000.mmc: mmc0 base at 
0x00000000ee160000, max clock rate 200 MHz
[    1.314196] NET: Registered protocol family 17
[    1.328349] 9pnet: Installing 9P2000 support
[    1.332828] Key type dns_resolver registered
[    1.337689] registered taskstats version 1
[    1.341904] Loading compiled-in X.509 certificates
[    1.366970] clk: Not disabling unused clocks
[    1.374745] Freeing unused kernel memory: 3072K
[    1.379670] Run /init as init process

Reply via email to