From nobody Sat Apr 18 12:42:00 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69F30C433EF for ; Thu, 14 Jul 2022 04:40:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237576AbiGNEkZ (ORCPT ); Thu, 14 Jul 2022 00:40:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237567AbiGNEjz (ORCPT ); Thu, 14 Jul 2022 00:39:55 -0400 Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 936F33FA3A for ; Wed, 13 Jul 2022 21:27:50 -0700 (PDT) Received: by mail-pj1-x1031.google.com with SMTP id g16-20020a17090a7d1000b001ea9f820449so7067602pjl.5 for ; Wed, 13 Jul 2022 21:27:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=1ANa/UfBZBIYOUOOK5aYse1VM4y5RCfZnupJabCiODk=; b=XyXet3y8zlu/z59ZUtVcN/LAQQMb4P3DKAdKdThaPQeHyy5vulQIu2gfwRzAn7RkEu 2lZ8kRNJ+ZpPwkUmYL8qYzJum+5/VYHRnXL8FHQoSEi5zI3v3H7sUn/pcX6mk25sHmaf C9kletF+w3P5LhJmWiJrfc4/HYoetV91307ferO9mbnOmbgMUdDnfZQA5F/QxJlqduKJ ieEgyKCNexFqoQQ3Zbl6qWDJZq1wHxAme79mdKyNA8LycVz9E4LckfmDB05lnFgHwTYs pfpNj3Y7BTkqJy2wkceCOL9HOXr7ICJRQvhaBNrIzaS1E+5dauDwo290aefyausoMcno 79xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1ANa/UfBZBIYOUOOK5aYse1VM4y5RCfZnupJabCiODk=; b=Xc3YmI7Buygwje3MFOQa0b7YXtvTHyyi8Xxos15xiCeC47Rj0B9R3qsA62r76jJCAP kcrJjI0jq4jltzkZVHQ8aQ61fj+ItsNrDz9JXpy8ERPrn2NubNGec5ZjImwWmIf9/No4 ktGM11lg6LXKadg3AwEzvsHiARbCtOhP9t3kLG7PRoVLb543ICDMYKuJTHmuhKFiA+Fr 2AJTa64x9N8r+G2804RYd/HZHk1o65e8QYA/usGkQHprOR3GQbNlIx1QaXdOsWEhCUcQ 3J2+qiitchBkdWfbmJ50N12cJGrcc8Yc+Q5F9ht9FrzTPVc+nk7iudio22FX7C5WkQiZ XtoQ== X-Gm-Message-State: AJIora8BOgec5SUv2mH08h+dTQn18priL16Q6YWNaGWLutm1QbwF9Xg8 TJVL9Yv/jJeEPdkrRKKlPselBrA/S50= X-Google-Smtp-Source: AGRyM1u0MtU6yGx0/BvbIR9/NQQXwtZOS3pQyNLQZrmd5yAt3jnVf7rEUQEGRqrBlIN8HJOwU/KqVA== X-Received: by 2002:a17:90b:30c4:b0:1ef:8d1b:f9bf with SMTP id hi4-20020a17090b30c400b001ef8d1bf9bfmr7637317pjb.158.1657772869879; Wed, 13 Jul 2022 21:27:49 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id x7-20020a1709027c0700b0016cae5f04e6sm284395pll.135.2022.07.13.21.27.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Jul 2022 21:27:49 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson , Palmer Dabbelt , Peter Zijlstra , Arnd Bergmann Subject: [PATCH v2 1/2] openrisc: Add pci bus support Date: Thu, 14 Jul 2022 13:27:34 +0900 Message-Id: <20220714042736.2133067-2-shorne@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220714042736.2133067-1-shorne@gmail.com> References: <20220714042736.2133067-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This patch adds required definitions to allow for PCI buses on OpenRISC. This is being in the QEMU virt platform. OpenRISC does not have IO ports so this defines PCI IO to be allowed in any range. Keeping PIO_RESERVED defined as 0 allows OpenRISC to use MMIO for all IO. Also, since commit 66bcd06099bb ("parport_pc: Also enable driver for PCI systems") all platforms that support PCI also need to support parallel port. We add a generic header to support parallel port drivers. Signed-off-by: Stafford Horne --- Since v1: - Revert definition of IO_SPACE_LIMIT arch/openrisc/Kconfig | 7 ++++--- arch/openrisc/include/asm/Kbuild | 1 + arch/openrisc/include/asm/io.h | 2 +- arch/openrisc/include/asm/pci.h | 36 ++++++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 arch/openrisc/include/asm/pci.h diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index e814df4c483c..327241988819 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig @@ -21,7 +21,9 @@ config OPENRISC select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_IOMAP + select GENERIC_PCI_IOMAP select GENERIC_CPU_DEVICES + select HAVE_PCI select HAVE_UID16 select GENERIC_ATOMIC64 select GENERIC_CLOCKEVENTS_BROADCAST @@ -32,6 +34,8 @@ config OPENRISC select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1 select ARCH_USE_QUEUED_RWLOCKS select OMPIC if SMP + select PCI_DOMAINS_GENERIC if PCI + select PCI_MSI if PCI select ARCH_WANT_FRAME_POINTERS select GENERIC_IRQ_MULTI_HANDLER select MMU_GATHER_NO_RANGE if MMU @@ -46,9 +50,6 @@ config MMU config GENERIC_HWEIGHT def_bool y =20 -config NO_IOPORT_MAP - def_bool y - # For now, use generic checksum functions #These can be reimplemented in assembly later if so inclined config GENERIC_CSUM diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/K= build index 3386b9c1c073..c8c99b554ca4 100644 --- a/arch/openrisc/include/asm/Kbuild +++ b/arch/openrisc/include/asm/Kbuild @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 generic-y +=3D extable.h generic-y +=3D kvm_para.h +generic-y +=3D parport.h generic-y +=3D spinlock_types.h generic-y +=3D spinlock.h generic-y +=3D qrwlock_types.h diff --git a/arch/openrisc/include/asm/io.h b/arch/openrisc/include/asm/io.h index c298061c70a7..625ac6ad1205 100644 --- a/arch/openrisc/include/asm/io.h +++ b/arch/openrisc/include/asm/io.h @@ -17,7 +17,7 @@ #include =20 /* - * PCI: can we really do 0 here if we have no port IO? + * PCI: We do not use IO ports in OpenRISC */ #define IO_SPACE_LIMIT 0 =20 diff --git a/arch/openrisc/include/asm/pci.h b/arch/openrisc/include/asm/pc= i.h new file mode 100644 index 000000000000..e0865d2f3f42 --- /dev/null +++ b/arch/openrisc/include/asm/pci.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef __ASM_OPENRISC_PCI_H +#define __ASM_OPENRISC_PCI_H + +#include +#include +#include + +#include + +#define PCIBIOS_MIN_IO 0 +#define PCIBIOS_MIN_MEM 0 + +/* OpenRISC bootloaders do not initialize PCI bus */ +#define pcibios_assign_all_busses() 1 + +#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 + +extern int isa_dma_bridge_buggy; + +#ifdef CONFIG_PCI +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) +{ + /* no legacy IRQs on or1k */ + return -ENODEV; +} + +static inline int pci_proc_domain(struct pci_bus *bus) +{ + /* always show the domain in /proc */ + return 1; +} +#endif /* CONFIG_PCI */ + +#endif /* __ASM_OPENRISC_PCI_H */ --=20 2.36.1 From nobody Sat Apr 18 12:42:00 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B582C43334 for ; Thu, 14 Jul 2022 04:40:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237699AbiGNEkl (ORCPT ); Thu, 14 Jul 2022 00:40:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237687AbiGNEkF (ORCPT ); Thu, 14 Jul 2022 00:40:05 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 312C240BCA for ; Wed, 13 Jul 2022 21:27:56 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id q5-20020a17090a304500b001efcc885cc4so1422243pjl.4 for ; Wed, 13 Jul 2022 21:27:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZWuX6ov4197gAn7zaYMbI8DUTRJY83Rd6vcUzJETd9g=; b=Ua3dc38Hbc65M6quhX/3f0MkSCWwVwSy1uos75L73bLQo9YOkV/ouWet0LzjrrwCC4 7TZWVHIrXc3GzXr/bDq0x/Vg+7g151sJY1c564aIk1bV3mpPHaqWOGQkr7vMuqYxJUV9 wU5EeVMBlQk1NqzxdDYwPGdaVCuiWdZGcPU85jII6EcRQ7/K+hyH/jw1mG4tDZqLKrbZ 45S3kjiKmeZ4TauWOrjKizVBNeRk6ddu05eo+L+ovbzTSoby8ZD31UiRD8OA/wnCYdU0 xFeF8IeefmGh2UTI7sfeuyifpe9WtY9Z1faqvKhwl1ms4cl60s+ym0BkyO5hsJIVJIeK tTWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZWuX6ov4197gAn7zaYMbI8DUTRJY83Rd6vcUzJETd9g=; b=RC4tNkqcO9quA7RvcJK9i0ZMIEOLuhSkJ4N6E8QaMQzLdXiGPhqe5za7qd7iL97gn0 ClR6AmndCsqvsmkluck5JD5zYIIy3J+ZZlBeOOU5dNt8fYh4YUiJLpweiwth9b1fdiNu z6cyT3mE1LEsLjQGchwe/GhTaeSamq0XUGLsd3MIdf2OSLpjXHvLnHUtS2pXGhDbs4dA 7kdZDL063c8nN+5215KLZbntHYjMzk2OF32vV/HMYfMAALjldvJk93Z5LPJbhV6FIyme X+0rk48rs3C757/W1xp/AUX6cS0MDptf5ULxVkYrltzazOg8Ncf8a9se9o3ZmRdgcNRV +W/g== X-Gm-Message-State: AJIora+CTvd8ndlczU23g8lmp+F0XprTu9j5ksK8dWoaSmULXgyo6YrA glops1HfpXWhhT56zwPfcDkatcN6hbc= X-Google-Smtp-Source: AGRyM1vsh2RRLIselvsASRcdl5YWYuT5WWUUCVkeqtEIqmBcATZPEZELX2HnIYva/iFeDF9StaNh8A== X-Received: by 2002:a17:902:6a81:b0:16b:d807:9acd with SMTP id n1-20020a1709026a8100b0016bd8079acdmr6595961plk.40.1657772875392; Wed, 13 Jul 2022 21:27:55 -0700 (PDT) Received: from localhost ([2409:10:24a0:4700:e8ad:216a:2a9d:6d0c]) by smtp.gmail.com with ESMTPSA id y14-20020a17090aa40e00b001eee7950428sm318181pjp.44.2022.07.13.21.27.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Jul 2022 21:27:55 -0700 (PDT) From: Stafford Horne To: LKML Cc: Openrisc , Stafford Horne , Jonas Bonn , Stefan Kristiansson Subject: [PATCH v2 2/2] openrisc: Add virt defconfig Date: Thu, 14 Jul 2022 13:27:35 +0900 Message-Id: <20220714042736.2133067-3-shorne@gmail.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220714042736.2133067-1-shorne@gmail.com> References: <20220714042736.2133067-1-shorne@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" I have been developing a new qemu virt platform to help with more efficient toolchain and kernel testing [1]. This patch adds the defconfig which is needed to support booting linux on the platform. [1] https://lore.kernel.org/qemu-devel/YpwNtowUTxRbh2Uq@antec/T/#m6db180b0d= 682785fb320e4a05345c12a063e0c47 Signed-off-by: Stafford Horne --- arch/openrisc/configs/virt_defconfig | 108 +++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 arch/openrisc/configs/virt_defconfig diff --git a/arch/openrisc/configs/virt_defconfig b/arch/openrisc/configs/v= irt_defconfig new file mode 100644 index 000000000000..c1b69166c500 --- /dev/null +++ b/arch/openrisc/configs/virt_defconfig @@ -0,0 +1,108 @@ +CONFIG_SYSVIPC=3Dy +CONFIG_POSIX_MQUEUE=3Dy +CONFIG_NO_HZ_IDLE=3Dy +CONFIG_LOG_BUF_SHIFT=3D14 +CONFIG_CGROUPS=3Dy +CONFIG_BLK_DEV_INITRD=3Dy +CONFIG_OPENRISC_HAVE_INST_CMOV=3Dy +CONFIG_OPENRISC_HAVE_INST_ROR=3Dy +CONFIG_OPENRISC_HAVE_INST_RORI=3Dy +CONFIG_OPENRISC_HAVE_INST_SEXT=3Dy +CONFIG_NR_CPUS=3D8 +CONFIG_SMP=3Dy +CONFIG_HZ_100=3Dy +# CONFIG_OPENRISC_NO_SPR_SR_DSX is not set +# CONFIG_COMPAT_BRK is not set +CONFIG_NET=3Dy +CONFIG_PACKET=3Dy +CONFIG_UNIX=3Dy +CONFIG_INET=3Dy +# CONFIG_INET_DIAG is not set +CONFIG_TCP_CONG_ADVANCED=3Dy +# CONFIG_TCP_CONG_BIC is not set +# CONFIG_TCP_CONG_CUBIC is not set +# CONFIG_TCP_CONG_WESTWOOD is not set +# CONFIG_TCP_CONG_HTCP is not set +# CONFIG_IPV6 is not set +# CONFIG_WIRELESS is not set +CONFIG_PCI=3Dy +CONFIG_PCIEPORTBUS=3Dy +CONFIG_PCI_HOST_GENERIC=3Dy +CONFIG_DEVTMPFS=3Dy +CONFIG_DEVTMPFS_MOUNT=3Dy +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_BLK_DEV_LOOP=3Dy +CONFIG_BLK_DEV_NBD=3Dy +CONFIG_VIRTIO_BLK=3Dy +CONFIG_NETDEVICES=3Dy +CONFIG_VIRTIO_NET=3Dy +CONFIG_ETHOC=3Dy +CONFIG_MICREL_PHY=3Dy +# CONFIG_WLAN is not set +CONFIG_INPUT_MOUSEDEV=3Dy +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=3Dy +CONFIG_SERIAL_8250_CONSOLE=3Dy +CONFIG_SERIAL_OF_PLATFORM=3Dy +CONFIG_VIRTIO_CONSOLE=3Dy +# CONFIG_HW_RANDOM is not set +CONFIG_POWER_RESET=3Dy +CONFIG_POWER_RESET_SYSCON=3Dy +CONFIG_POWER_RESET_SYSCON_POWEROFF=3Dy +CONFIG_SYSCON_REBOOT_MODE=3Dy +# CONFIG_HWMON is not set +CONFIG_DRM=3Dy +# CONFIG_DRM_FBDEV_EMULATION is not set +CONFIG_DRM_VIRTIO_GPU=3Dy +CONFIG_FB=3Dy +CONFIG_FIRMWARE_EDID=3Dy +CONFIG_FRAMEBUFFER_CONSOLE=3Dy +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=3Dy +CONFIG_LOGO=3Dy +CONFIG_SOUND=3Dy +CONFIG_SND=3Dy +CONFIG_SND_INTEL8X0=3Dy +CONFIG_SND_INTEL8X0M=3Dy +CONFIG_SND_SOC=3Dy +CONFIG_SND_VIRTIO=3Dy +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_ITE is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_REDRAGON is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +CONFIG_USB=3Dy +CONFIG_USB_XHCI_HCD=3Dy +CONFIG_USB_XHCI_PLATFORM=3Dy +CONFIG_USB_EHCI_HCD=3Dy +CONFIG_USB_EHCI_HCD_PLATFORM=3Dy +CONFIG_USB_OHCI_HCD=3Dy +CONFIG_USB_OHCI_HCD_PLATFORM=3Dy +CONFIG_USB_SERIAL=3Dy +CONFIG_USB_GADGET=3Dy +CONFIG_TYPEC=3Dy +CONFIG_RTC_CLASS=3Dy +CONFIG_RTC_DRV_GOLDFISH=3Dy +CONFIG_VIRT_DRIVERS=3Dy +CONFIG_VIRTIO_PCI=3Dy +# CONFIG_VIRTIO_PCI_LEGACY is not set +CONFIG_VIRTIO_INPUT=3Dy +CONFIG_VIRTIO_MMIO=3Dy +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=3Dy +CONFIG_EXT3_FS=3Dy +CONFIG_EXT3_FS_POSIX_ACL=3Dy +# CONFIG_DNOTIFY is not set +CONFIG_MSDOS_FS=3Dy +CONFIG_VFAT_FS=3Dy +CONFIG_EXFAT_FS=3Dy +CONFIG_TMPFS=3Dy +CONFIG_NFS_FS=3Dy +CONFIG_UNICODE=3Dy +CONFIG_PRINTK_TIME=3Dy +CONFIG_DYNAMIC_DEBUG=3Dy +CONFIG_FTRACE=3Dy --=20 2.36.1