From: Pratyush Anand <panand@redhat.com>
To: horms@verge.net.au, james.morse@arm.com
Cc: mark.rutland@arm.com, Pratyush Anand <panand@redhat.com>,
bhe@redhat.com, kexec@lists.infradead.org, dyoung@redhat.com,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/2] kexec-tools: arm64: Enable D-cache in purgatory
Date: Tue, 23 May 2017 10:32:07 +0530 [thread overview]
Message-ID: <cover.1495514291.git.panand@redhat.com> (raw)
It takes more that 2 minutes to verify SHA in purgatory when vmlinuz image
is around 13MB and initramfs is around 30MB. It takes more than 20 second
even when we have -O2 optimization enabled. However, if dcache is enabled
during purgatory execution then, it takes just a second in SHA
verification.
Therefore, these patches adds support for dcache enabling facility during
purgatory execution.
Changes since V2:
- typo in name create_block_entry() fixed
- moved shared definition between kexec and purgatory to a common
file.
- MT_NORMAL as 0
- PTRS_PER_* and other calculation around pmd_index() etc have
been defined like in kernel
- page table size has been kept for 5 tables, with comment about
expansion
- Pass only virt address to create_block_entry() now
- Addresses in kexec and purgatory domain have been defined as
host_addr_t and guest_addr_t respectively for clear code reading
Changes since V1:
- Moved page table creation logic from purgatory to kexec code.
- Only 4K page table is supported, with 48 bit VA and 2M block size
- if platform supports a 4K page size, then D-cache is always
enabled now.
Pratyush Anand (2):
kexec: arm64: create identity page table to be used in purgatory
arm64: enable d-cache support during purgatory sha verification
kexec/arch/arm64/kexec-arm64.c | 119 +++++++++++++++
kexec/arch/arm64/kexec-mmu.h | 76 ++++++++++
purgatory/arch/arm64/Makefile | 1 +
purgatory/arch/arm64/cache.S | 264 +++++++++++++++++++++++++++++++++
purgatory/arch/arm64/purgatory-arm64.c | 5 +
5 files changed, 465 insertions(+)
create mode 100644 kexec/arch/arm64/kexec-mmu.h
create mode 100644 purgatory/arch/arm64/cache.S
--
2.9.3
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: panand@redhat.com (Pratyush Anand)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/2] kexec-tools: arm64: Enable D-cache in purgatory
Date: Tue, 23 May 2017 10:32:07 +0530 [thread overview]
Message-ID: <cover.1495514291.git.panand@redhat.com> (raw)
It takes more that 2 minutes to verify SHA in purgatory when vmlinuz image
is around 13MB and initramfs is around 30MB. It takes more than 20 second
even when we have -O2 optimization enabled. However, if dcache is enabled
during purgatory execution then, it takes just a second in SHA
verification.
Therefore, these patches adds support for dcache enabling facility during
purgatory execution.
Changes since V2:
- typo in name create_block_entry() fixed
- moved shared definition between kexec and purgatory to a common
file.
- MT_NORMAL as 0
- PTRS_PER_* and other calculation around pmd_index() etc have
been defined like in kernel
- page table size has been kept for 5 tables, with comment about
expansion
- Pass only virt address to create_block_entry() now
- Addresses in kexec and purgatory domain have been defined as
host_addr_t and guest_addr_t respectively for clear code reading
Changes since V1:
- Moved page table creation logic from purgatory to kexec code.
- Only 4K page table is supported, with 48 bit VA and 2M block size
- if platform supports a 4K page size, then D-cache is always
enabled now.
Pratyush Anand (2):
kexec: arm64: create identity page table to be used in purgatory
arm64: enable d-cache support during purgatory sha verification
kexec/arch/arm64/kexec-arm64.c | 119 +++++++++++++++
kexec/arch/arm64/kexec-mmu.h | 76 ++++++++++
purgatory/arch/arm64/Makefile | 1 +
purgatory/arch/arm64/cache.S | 264 +++++++++++++++++++++++++++++++++
purgatory/arch/arm64/purgatory-arm64.c | 5 +
5 files changed, 465 insertions(+)
create mode 100644 kexec/arch/arm64/kexec-mmu.h
create mode 100644 purgatory/arch/arm64/cache.S
--
2.9.3
next reply other threads:[~2017-05-23 5:03 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-23 5:02 Pratyush Anand [this message]
2017-05-23 5:02 ` [PATCH v3 0/2] kexec-tools: arm64: Enable D-cache in purgatory Pratyush Anand
2017-05-23 5:02 ` [PATCH v3 1/2] kexec: arm64: create identity page table to be used " Pratyush Anand
2017-05-23 5:02 ` Pratyush Anand
2017-06-02 8:24 ` James Morse
2017-06-02 8:24 ` James Morse
2017-06-02 14:29 ` Pratyush Anand
2017-06-02 14:29 ` Pratyush Anand
2017-05-23 5:02 ` [PATCH v3 2/2] arm64: enable d-cache support during purgatory sha verification Pratyush Anand
2017-05-23 5:02 ` Pratyush Anand
2017-06-02 8:23 ` [PATCH v3 0/2] kexec-tools: arm64: Enable D-cache in purgatory James Morse
2017-06-02 8:23 ` James Morse
2017-06-02 9:55 ` Ard Biesheuvel
2017-06-02 9:55 ` Ard Biesheuvel
2017-06-02 11:15 ` Bhupesh SHARMA
2017-06-02 11:15 ` Bhupesh SHARMA
2017-06-02 11:36 ` Ard Biesheuvel
2017-06-02 11:36 ` Ard Biesheuvel
2017-06-02 11:44 ` Ard Biesheuvel
2017-06-02 11:44 ` Ard Biesheuvel
2017-06-02 14:32 ` Pratyush Anand
2017-06-02 14:32 ` Pratyush Anand
2017-06-02 16:36 ` James Morse
2017-06-02 16:36 ` James Morse
2017-06-02 14:42 ` Pratyush Anand
2017-06-02 14:42 ` Pratyush Anand
[not found] ` <CAB=otbT23ySN4VC6G0sBKF5p4SvsnG8PS-C_beBgn8YJUsbw9Q@mail.gmail.com>
2018-04-04 12:45 ` Kostiantyn Iarmak
2018-04-04 12:45 ` Kostiantyn Iarmak
2018-04-04 13:04 ` Kostiantyn Iarmak
2018-04-04 13:04 ` Kostiantyn Iarmak
2018-04-04 13:28 ` James Morse
2018-04-04 13:28 ` James Morse
2018-04-04 22:55 ` Ard Biesheuvel
2018-04-04 22:55 ` Ard Biesheuvel
2018-04-05 1:47 ` AKASHI Takahiro
2018-04-05 1:47 ` AKASHI Takahiro
2018-04-06 18:15 ` Kostiantyn Iarmak
2018-04-06 18:15 ` Kostiantyn Iarmak
2018-04-11 15:59 ` Geoff Levand
2018-04-11 15:59 ` Geoff Levand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1495514291.git.panand@redhat.com \
--to=panand@redhat.com \
--cc=bhe@redhat.com \
--cc=dyoung@redhat.com \
--cc=horms@verge.net.au \
--cc=james.morse@arm.com \
--cc=kexec@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.