Skip to content

Commit 5804c19

Browse files
committed
Merge tag 'kvm-riscv-fixes-6.6-1' of https://github.com/kvm-riscv/linux into HEAD
KVM/riscv fixes for 6.6, take #1 - Fix KVM_GET_REG_LIST API for ISA_EXT registers - Fix reading ISA_EXT register of a missing extension - Fix ISA_EXT register handling in get-reg-list test - Fix filtering of AIA registers in get-reg-list test
2 parents 916e3e5 + 071ef07 commit 5804c19

File tree

350 files changed

+2321
-1241
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

350 files changed

+2321
-1241
lines changed

Documentation/filesystems/btrfs.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ For more information please refer to the documentation site or wiki
3737

3838
https://btrfs.readthedocs.io
3939

40-
https://btrfs.wiki.kernel.org
4140

4241
that maintains information about administration tasks, frequently asked
4342
questions, use cases, mount options, comprehensible changelogs, features,

Documentation/process/embargoed-hardware-issues.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ an involved disclosed party. The current ambassadors list:
251251
IBM Z Christian Borntraeger <[email protected]>
252252
Intel Tony Luck <[email protected]>
253253
Qualcomm Trilok Soni <[email protected]>
254+
RISC-V Palmer Dabbelt <[email protected]>
254255
Samsung Javier González <[email protected]>
255256

256257
Microsoft James Morris <[email protected]>

MAINTAINERS

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1855,7 +1855,7 @@ F: Documentation/devicetree/bindings/phy/amlogic*
18551855
F: arch/arm/boot/dts/amlogic/
18561856
F: arch/arm/mach-meson/
18571857
F: arch/arm64/boot/dts/amlogic/
1858-
F: drivers/genpd/amlogic/
1858+
F: drivers/pmdomain/amlogic/
18591859
F: drivers/mmc/host/meson*
18601860
F: drivers/phy/amlogic/
18611861
F: drivers/pinctrl/meson/
@@ -1918,7 +1918,7 @@ F: drivers/bluetooth/hci_bcm4377.c
19181918
F: drivers/clk/clk-apple-nco.c
19191919
F: drivers/cpufreq/apple-soc-cpufreq.c
19201920
F: drivers/dma/apple-admac.c
1921-
F: drivers/genpd/apple/
1921+
F: drivers/pmdomain/apple/
19221922
F: drivers/i2c/busses/i2c-pasemi-core.c
19231923
F: drivers/i2c/busses/i2c-pasemi-platform.c
19241924
F: drivers/iommu/apple-dart.c
@@ -2435,7 +2435,7 @@ F: arch/arm/mach-ux500/
24352435
F: drivers/clk/clk-nomadik.c
24362436
F: drivers/clocksource/clksrc-dbx500-prcmu.c
24372437
F: drivers/dma/ste_dma40*
2438-
F: drivers/genpd/st/ste-ux500-pm-domain.c
2438+
F: drivers/pmdomain/st/ste-ux500-pm-domain.c
24392439
F: drivers/hwspinlock/u8500_hsem.c
24402440
F: drivers/i2c/busses/i2c-nomadik.c
24412441
F: drivers/iio/adc/ab8500-gpadc.c
@@ -2598,7 +2598,7 @@ F: arch/arm/include/debug/renesas-scif.S
25982598
F: arch/arm/mach-shmobile/
25992599
F: arch/arm64/boot/dts/renesas/
26002600
F: arch/riscv/boot/dts/renesas/
2601-
F: drivers/genpd/renesas/
2601+
F: drivers/pmdomain/renesas/
26022602
F: drivers/soc/renesas/
26032603
F: include/linux/soc/renesas/
26042604
K: \brenesas,
@@ -4026,7 +4026,7 @@ F: arch/mips/kernel/*bmips*
40264026
F: drivers/irqchip/irq-bcm63*
40274027
F: drivers/irqchip/irq-bcm7*
40284028
F: drivers/irqchip/irq-brcmstb*
4029-
F: drivers/genpd/bcm/bcm63xx-power.c
4029+
F: drivers/pmdomain/bcm/bcm63xx-power.c
40304030
F: include/linux/bcm963xx_nvram.h
40314031
F: include/linux/bcm963xx_tag.h
40324032

@@ -4248,7 +4248,7 @@ R: Broadcom internal kernel review list <[email protected]>
42484248
42494249
S: Maintained
42504250
T: git https://github.com/broadcom/stblinux.git
4251-
F: drivers/genpd/bcm/bcm-pmb.c
4251+
F: drivers/pmdomain/bcm/bcm-pmb.c
42524252
F: include/dt-bindings/soc/bcm-pmb.h
42534253

42544254
BROADCOM SPECIFIC AMBA DRIVER (BCMA)
@@ -4378,7 +4378,6 @@ M: David Sterba <[email protected]>
43784378
43794379
S: Maintained
43804380
W: https://btrfs.readthedocs.io
4381-
W: https://btrfs.wiki.kernel.org/
43824381
Q: https://patchwork.kernel.org/project/linux-btrfs/list/
43834382
C: irc://irc.libera.chat/btrfs
43844383
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git
@@ -8729,7 +8728,7 @@ M: Ulf Hansson <[email protected]>
87298728
87308729
S: Supported
87318730
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm.git
8732-
F: drivers/genpd/
8731+
F: drivers/pmdomain/
87338732

87348733
GENERIC RESISTIVE TOUCHSCREEN ADC DRIVER
87358734
M: Eugen Hristev <[email protected]>
@@ -17680,7 +17679,7 @@ L: [email protected]
1768017679
1768117680
S: Maintained
1768217681
F: Documentation/devicetree/bindings/power/avs/qcom,cpr.yaml
17683-
F: drivers/genpd/qcom/cpr.c
17682+
F: drivers/pmdomain/qcom/cpr.c
1768417683

1768517684
QUALCOMM CPUFREQ DRIVER MSM8996/APQ8096
1768617685
M: Ilia Lin <[email protected]>
@@ -20514,7 +20513,7 @@ STARFIVE JH71XX PMU CONTROLLER DRIVER
2051420513
M: Walker Chen <[email protected]>
2051520514
S: Supported
2051620515
F: Documentation/devicetree/bindings/power/starfive*
20517-
F: drivers/genpd/starfive/jh71xx-pmu.c
20516+
F: drivers/pmdomain/starfive/jh71xx-pmu.c
2051820517
F: include/dt-bindings/power/starfive,jh7110-pmu.h
2051920518

2052020519
STARFIVE SOC DRIVERS
@@ -21339,7 +21338,7 @@ F: drivers/irqchip/irq-ti-sci-inta.c
2133921338
F: drivers/irqchip/irq-ti-sci-intr.c
2134021339
F: drivers/reset/reset-ti-sci.c
2134121340
F: drivers/soc/ti/ti_sci_inta_msi.c
21342-
F: drivers/genpd/ti/ti_sci_pm_domains.c
21341+
F: drivers/pmdomain/ti/ti_sci_pm_domains.c
2134321342
F: include/dt-bindings/soc/ti,sci_pm_domain.h
2134421343
F: include/linux/soc/ti/ti_sci_inta_msi.h
2134521344
F: include/linux/soc/ti/ti_sci_protocol.h
@@ -21581,7 +21580,7 @@ L: [email protected]
2158121580
L: [email protected] (moderated for non-subscribers)
2158221581
S: Maintained
2158321582
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
21584-
F: drivers/genpd/ti/omap_prm.c
21583+
F: drivers/pmdomain/ti/omap_prm.c
2158521584
F: drivers/soc/ti/*
2158621585

2158721586
TI LM49xxx FAMILY ASoC CODEC DRIVERS

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 6
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc1
5+
EXTRAVERSION = -rc2
66
NAME = Hurr durr I'ma ninja sloth
77

88
# *DOCUMENTATION*

arch/parisc/include/asm/cache.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ extern int split_tlb;
3737
extern int dcache_stride;
3838
extern int icache_stride;
3939
extern struct pdc_cache_info cache_info;
40+
extern struct pdc_btlb_info btlb_info;
4041
void parisc_setup_cache_timing(void);
4142

4243
#define pdtlb(sr, addr) asm volatile("pdtlb 0(%%sr%0,%1)" \

arch/parisc/include/asm/mckinley.h

Lines changed: 0 additions & 8 deletions
This file was deleted.

arch/parisc/include/asm/pdc.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,11 @@ int pdc_model_capabilities(unsigned long *capabilities);
4444
int pdc_model_platform_info(char *orig_prod_num, char *current_prod_num, char *serial_no);
4545
int pdc_cache_info(struct pdc_cache_info *cache);
4646
int pdc_spaceid_bits(unsigned long *space_bits);
47-
#ifndef CONFIG_PA20
4847
int pdc_btlb_info(struct pdc_btlb_info *btlb);
48+
int pdc_btlb_insert(unsigned long long vpage, unsigned long physpage, unsigned long len,
49+
unsigned long entry_info, unsigned long slot);
50+
int pdc_btlb_purge_all(void);
4951
int pdc_mem_map_hpa(struct pdc_memory_map *r_addr, struct pdc_module_path *mod_path);
50-
#endif /* !CONFIG_PA20 */
5152
int pdc_pim_toc11(struct pdc_toc_pim_11 *ret);
5253
int pdc_pim_toc20(struct pdc_toc_pim_20 *ret);
5354
int pdc_lan_station_id(char *lan_addr, unsigned long net_hpa);

arch/parisc/include/asm/processor.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ extern void do_syscall_trace_exit(struct pt_regs *);
310310
struct seq_file;
311311
extern void early_trap_init(void);
312312
extern void collect_boot_cpu_data(void);
313+
extern void btlb_init_per_cpu(void);
313314
extern int show_cpuinfo (struct seq_file *m, void *v);
314315

315316
/* driver code in driver/parisc */

arch/parisc/include/asm/ropes.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
struct ioc {
3030
void __iomem *ioc_hpa; /* I/O MMU base address */
3131
char *res_map; /* resource map, bit == pdir entry */
32-
u64 *pdir_base; /* physical base address */
32+
__le64 *pdir_base; /* physical base address */
3333
unsigned long ibase; /* pdir IOV Space base - shared w/lba_pci */
3434
unsigned long imask; /* pdir IOV Space mask - shared w/lba_pci */
3535
#ifdef ZX1_SUPPORT
@@ -86,6 +86,9 @@ struct sba_device {
8686
struct ioc ioc[MAX_IOC];
8787
};
8888

89+
/* list of SBA's in system, see drivers/parisc/sba_iommu.c */
90+
extern struct sba_device *sba_list;
91+
8992
#define ASTRO_RUNWAY_PORT 0x582
9093
#define IKE_MERCED_PORT 0x803
9194
#define REO_MERCED_PORT 0x804
@@ -110,7 +113,7 @@ static inline int IS_PLUTO(struct parisc_device *d) {
110113

111114
#define SBA_PDIR_VALID_BIT 0x8000000000000000ULL
112115

113-
#define SBA_AGPGART_COOKIE 0x0000badbadc0ffeeULL
116+
#define SBA_AGPGART_COOKIE (__force __le64) 0x0000badbadc0ffeeULL
114117

115118
#define SBA_FUNC_ID 0x0000 /* function id */
116119
#define SBA_FCLASS 0x0008 /* function class, bist, header, rev... */

arch/parisc/include/asm/shmparam.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22
#ifndef _ASMPARISC_SHMPARAM_H
33
#define _ASMPARISC_SHMPARAM_H
44

5+
/*
6+
* PA-RISC uses virtually indexed & physically tagged (VIPT) caches
7+
* which has strict requirements when two pages to the same physical
8+
* address are accessed through different mappings. Read the section
9+
* "Address Aliasing" in the arch docs for more detail:
10+
* PA-RISC 1.1 (page 3-6):
11+
* https://parisc.wiki.kernel.org/images-parisc/6/68/Pa11_acd.pdf
12+
* PA-RISC 2.0 (page F-5):
13+
* https://parisc.wiki.kernel.org/images-parisc/7/73/Parisc2.0.pdf
14+
*
15+
* For Linux we allow kernel and userspace to map pages on page size
16+
* granularity (SHMLBA) but have to ensure that, if two pages are
17+
* mapped to the same physical address, the virtual and physical
18+
* addresses modulo SHM_COLOUR are identical.
19+
*/
520
#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
621
#define SHM_COLOUR 0x00400000 /* shared mappings colouring */
722

arch/parisc/kernel/asm-offsets.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,8 @@ int main(void)
275275
* and kernel data on physical huge pages */
276276
#ifdef CONFIG_HUGETLB_PAGE
277277
DEFINE(HUGEPAGE_SIZE, 1UL << REAL_HPAGE_SHIFT);
278+
#elif !defined(CONFIG_64BIT)
279+
DEFINE(HUGEPAGE_SIZE, 4*1024*1024);
278280
#else
279281
DEFINE(HUGEPAGE_SIZE, PAGE_SIZE);
280282
#endif

arch/parisc/kernel/cache.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ int pa_serialize_tlb_flushes __ro_after_init;
5858

5959
struct pdc_cache_info cache_info __ro_after_init;
6060
#ifndef CONFIG_PA20
61-
static struct pdc_btlb_info btlb_info __ro_after_init;
61+
struct pdc_btlb_info btlb_info __ro_after_init;
6262
#endif
6363

6464
DEFINE_STATIC_KEY_TRUE(parisc_has_cache);
@@ -264,12 +264,6 @@ parisc_cache_init(void)
264264
icache_stride = CAFL_STRIDE(cache_info.ic_conf);
265265
#undef CAFL_STRIDE
266266

267-
#ifndef CONFIG_PA20
268-
if (pdc_btlb_info(&btlb_info) < 0) {
269-
memset(&btlb_info, 0, sizeof btlb_info);
270-
}
271-
#endif
272-
273267
if ((boot_cpu_data.pdc.capabilities & PDC_MODEL_NVA_MASK) ==
274268
PDC_MODEL_NVA_UNSUPPORTED) {
275269
printk(KERN_WARNING "parisc_cache_init: Only equivalent aliasing supported!\n");

arch/parisc/kernel/drivers.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -925,9 +925,9 @@ static __init void qemu_header(void)
925925
pr_info("#define PARISC_MODEL \"%s\"\n\n",
926926
boot_cpu_data.pdc.sys_model_name);
927927

928+
#define p ((unsigned long *)&boot_cpu_data.pdc.model)
928929
pr_info("#define PARISC_PDC_MODEL 0x%lx, 0x%lx, 0x%lx, "
929930
"0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx\n\n",
930-
#define p ((unsigned long *)&boot_cpu_data.pdc.model)
931931
p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8]);
932932
#undef p
933933

arch/parisc/kernel/firmware.c

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,6 @@ int pdc_spaceid_bits(unsigned long *space_bits)
687687
return retval;
688688
}
689689

690-
#ifndef CONFIG_PA20
691690
/**
692691
* pdc_btlb_info - Return block TLB information.
693692
* @btlb: The return buffer.
@@ -696,18 +695,51 @@ int pdc_spaceid_bits(unsigned long *space_bits)
696695
*/
697696
int pdc_btlb_info(struct pdc_btlb_info *btlb)
698697
{
699-
int retval;
698+
int retval;
700699
unsigned long flags;
701700

702-
spin_lock_irqsave(&pdc_lock, flags);
703-
retval = mem_pdc_call(PDC_BLOCK_TLB, PDC_BTLB_INFO, __pa(pdc_result), 0);
704-
memcpy(btlb, pdc_result, sizeof(*btlb));
705-
spin_unlock_irqrestore(&pdc_lock, flags);
701+
if (IS_ENABLED(CONFIG_PA20))
702+
return PDC_BAD_PROC;
706703

707-
if(retval < 0) {
708-
btlb->max_size = 0;
709-
}
710-
return retval;
704+
spin_lock_irqsave(&pdc_lock, flags);
705+
retval = mem_pdc_call(PDC_BLOCK_TLB, PDC_BTLB_INFO, __pa(pdc_result), 0);
706+
memcpy(btlb, pdc_result, sizeof(*btlb));
707+
spin_unlock_irqrestore(&pdc_lock, flags);
708+
709+
if(retval < 0) {
710+
btlb->max_size = 0;
711+
}
712+
return retval;
713+
}
714+
715+
int pdc_btlb_insert(unsigned long long vpage, unsigned long physpage, unsigned long len,
716+
unsigned long entry_info, unsigned long slot)
717+
{
718+
int retval;
719+
unsigned long flags;
720+
721+
if (IS_ENABLED(CONFIG_PA20))
722+
return PDC_BAD_PROC;
723+
724+
spin_lock_irqsave(&pdc_lock, flags);
725+
retval = mem_pdc_call(PDC_BLOCK_TLB, PDC_BTLB_INSERT, (unsigned long) (vpage >> 32),
726+
(unsigned long) vpage, physpage, len, entry_info, slot);
727+
spin_unlock_irqrestore(&pdc_lock, flags);
728+
return retval;
729+
}
730+
731+
int pdc_btlb_purge_all(void)
732+
{
733+
int retval;
734+
unsigned long flags;
735+
736+
if (IS_ENABLED(CONFIG_PA20))
737+
return PDC_BAD_PROC;
738+
739+
spin_lock_irqsave(&pdc_lock, flags);
740+
retval = mem_pdc_call(PDC_BLOCK_TLB, PDC_BTLB_PURGE_ALL);
741+
spin_unlock_irqrestore(&pdc_lock, flags);
742+
return retval;
711743
}
712744

713745
/**
@@ -728,6 +760,9 @@ int pdc_mem_map_hpa(struct pdc_memory_map *address,
728760
int retval;
729761
unsigned long flags;
730762

763+
if (IS_ENABLED(CONFIG_PA20))
764+
return PDC_BAD_PROC;
765+
731766
spin_lock_irqsave(&pdc_lock, flags);
732767
memcpy(pdc_result2, mod_path, sizeof(*mod_path));
733768
retval = mem_pdc_call(PDC_MEM_MAP, PDC_MEM_MAP_HPA, __pa(pdc_result),
@@ -737,7 +772,6 @@ int pdc_mem_map_hpa(struct pdc_memory_map *address,
737772

738773
return retval;
739774
}
740-
#endif /* !CONFIG_PA20 */
741775

742776
/**
743777
* pdc_lan_station_id - Get the LAN address.

arch/parisc/kernel/head.S

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,10 @@ $pgt_fill_loop:
180180
std %dp,0x18(%r10)
181181
#endif
182182

183-
#ifdef CONFIG_64BIT
184-
/* Get PDCE_PROC for monarch CPU. */
185183
#define MEM_PDC_LO 0x388
186184
#define MEM_PDC_HI 0x35C
185+
#ifdef CONFIG_64BIT
186+
/* Get PDCE_PROC for monarch CPU. */
187187
ldw MEM_PDC_LO(%r0),%r3
188188
ldw MEM_PDC_HI(%r0),%r10
189189
depd %r10, 31, 32, %r3 /* move to upper word */
@@ -269,7 +269,17 @@ stext_pdc_ret:
269269
tovirt_r1 %r6
270270
mtctl %r6,%cr30 /* restore task thread info */
271271
#endif
272-
272+
273+
#ifndef CONFIG_64BIT
274+
/* clear all BTLBs */
275+
ldi PDC_BLOCK_TLB,%arg0
276+
load32 PA(stext_pdc_btlb_ret), %rp
277+
ldw MEM_PDC_LO(%r0),%r3
278+
bv (%r3)
279+
ldi PDC_BTLB_PURGE_ALL,%arg1
280+
stext_pdc_btlb_ret:
281+
#endif
282+
273283
/* PARANOID: clear user scratch/user space SR's */
274284
mtsp %r0,%sr0
275285
mtsp %r0,%sr1

arch/parisc/kernel/irq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ union irq_stack_union {
365365
volatile unsigned int lock[1];
366366
};
367367

368-
DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = {
368+
static DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = {
369369
.slock = { 1,1,1,1 },
370370
};
371371
#endif

arch/parisc/kernel/processor.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,8 @@ int init_per_cpu(int cpunum)
368368
/* FUTURE: Enable Performance Monitor : ccr bit 0x20 */
369369
init_percpu_prof(cpunum);
370370

371+
btlb_init_per_cpu();
372+
371373
return ret;
372374
}
373375

0 commit comments

Comments
 (0)