From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <peterz@infradead.org>,
Joerg Roedel <joro@8bytes.org>
Cc: Linux-Next Mailing List <linux-next@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Tom Lendacky <thomas.lendacky@amd.com>,
Baoquan He <bhe@redhat.com>
Subject: linux-next: manual merge of the tip tree with the iommu tree
Date: Tue, 22 Aug 2017 13:50:57 +1000 [thread overview]
Message-ID: <20170822135057.776f3509@canb.auug.org.au> (raw)
Hi all,
Today's linux-next merge of the tip tree got conflicts in:
drivers/iommu/amd_iommu.c
drivers/iommu/amd_iommu_init.c
drivers/iommu/amd_iommu_proto.h
drivers/iommu/amd_iommu_types.h
between commits:
4c232a708be1 ("iommu/amd: Detect pre enabled translation")
9494ea90a56d ("Revert "iommu/amd: Suppress IO_PAGE_FAULTs in kdump kernel"")
07a80a6b5920 ("iommu/amd: Define bit fields for DTE particularly")
daae2d25a477 ("iommu/amd: Don't copy GCR3 table root pointer")
from the iommu tree and commit:
2543a786aa25 ("iommu/amd: Allow the AMD IOMMU to work with memory encryption")
from the tip tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc drivers/iommu/amd_iommu.c
index 31bce367866c,4ad7e5e31943..000000000000
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@@ -1476,10 -1538,10 +1478,10 @@@ static int iommu_map_page(struct protec
return -EBUSY;
if (count > 1) {
- __pte = PAGE_SIZE_PTE(phys_addr, page_size);
+ __pte = PAGE_SIZE_PTE(__sme_set(phys_addr), page_size);
- __pte |= PM_LEVEL_ENC(7) | IOMMU_PTE_P | IOMMU_PTE_FC;
+ __pte |= PM_LEVEL_ENC(7) | IOMMU_PTE_PR | IOMMU_PTE_FC;
} else
- __pte = phys_addr | IOMMU_PTE_PR | IOMMU_PTE_FC;
- __pte = __sme_set(phys_addr) | IOMMU_PTE_P | IOMMU_PTE_FC;
++ __pte = __sme_set(phys_addr) | IOMMU_PTE_PR | IOMMU_PTE_FC;
if (prot & IOMMU_PROT_IR)
__pte |= IOMMU_PTE_IR;
diff --cc drivers/iommu/amd_iommu_init.c
index ff8887ac5555,2292a6cece76..000000000000
--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@@ -29,6 -29,8 +29,7 @@@
#include <linux/export.h>
#include <linux/iommu.h>
#include <linux/kmemleak.h>
-#include <linux/crash_dump.h>
+ #include <linux/mem_encrypt.h>
#include <asm/pci-direct.h>
#include <asm/iommu.h>
#include <asm/gart.h>
diff --cc drivers/iommu/amd_iommu_proto.h
index 90e62e9b01c5,3f12fb2338ea..000000000000
--- a/drivers/iommu/amd_iommu_proto.h
+++ b/drivers/iommu/amd_iommu_proto.h
@@@ -87,6 -87,14 +87,16 @@@ static inline bool iommu_feature(struc
return !!(iommu->features & f);
}
+ static inline u64 iommu_virt_to_phys(void *vaddr)
+ {
+ return (u64)__sme_set(virt_to_phys(vaddr));
+ }
+
+ static inline void *iommu_phys_to_virt(unsigned long paddr)
+ {
+ return phys_to_virt(__sme_clr(paddr));
+ }
+
+extern bool translation_pre_enabled(struct amd_iommu *iommu);
+extern struct iommu_dev_data *get_dev_data(struct device *dev);
#endif /* _ASM_X86_AMD_IOMMU_PROTO_H */
diff --cc drivers/iommu/amd_iommu_types.h
index 5f775fef341c,8591f43c467c..000000000000
--- a/drivers/iommu/amd_iommu_types.h
+++ b/drivers/iommu/amd_iommu_types.h
@@@ -361,8 -343,8 +361,8 @@@
#define GCR3_VALID 0x01ULL
#define IOMMU_PAGE_MASK (((1ULL << 52) - 1) & ~0xfffULL)
-#define IOMMU_PTE_PRESENT(pte) ((pte) & IOMMU_PTE_P)
+#define IOMMU_PTE_PRESENT(pte) ((pte) & IOMMU_PTE_PR)
- #define IOMMU_PTE_PAGE(pte) (phys_to_virt((pte) & IOMMU_PAGE_MASK))
+ #define IOMMU_PTE_PAGE(pte) (iommu_phys_to_virt((pte) & IOMMU_PAGE_MASK))
#define IOMMU_PTE_MODE(pte) (((pte) >> 9) & 0x07)
#define IOMMU_PROT_MASK 0x03
next reply other threads:[~2017-08-22 3:50 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-22 3:50 Stephen Rothwell [this message]
2017-08-22 5:57 ` linux-next: manual merge of the tip tree with the iommu tree Baoquan He
2017-08-22 7:49 ` Stephen Rothwell
2017-08-22 8:01 ` Baoquan He
2017-08-22 8:43 ` Stephen Rothwell
2017-08-22 8:50 ` Baoquan He
2017-08-22 8:11 ` Baoquan He
2017-08-23 14:15 ` Tom Lendacky
2017-09-04 5:45 ` Stephen Rothwell
-- strict thread matches above, loose matches on Subject: below --
2023-04-03 4:36 Stephen Rothwell
2023-04-03 5:11 ` Stephen Rothwell
2022-11-14 4:10 Stephen Rothwell
2022-03-07 1:50 Stephen Rothwell
2021-10-21 1:35 Stephen Rothwell
2021-10-21 15:29 ` Borislav Petkov
2021-11-02 2:57 ` Stephen Rothwell
2020-10-02 5:22 Stephen Rothwell
2020-10-13 3:38 ` Stephen Rothwell
2015-06-17 3:22 Michael Ellerman
2015-06-17 9:57 ` Joerg Roedel
2015-06-17 21:15 ` Michael Ellerman
2015-06-09 6:57 Stephen Rothwell
2015-06-09 6:57 Stephen Rothwell
[not found] <20150605085030.17051140293@ozlabs.org>
2015-06-05 8:57 ` Joerg Roedel
2011-09-27 5:03 Stephen Rothwell
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=20170822135057.776f3509@canb.auug.org.au \
--to=sfr@canb.auug.org.au \
--cc=bhe@redhat.com \
--cc=hpa@zytor.com \
--cc=joro@8bytes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).