mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 13:53:33 +00:00
Merge remote-tracking branch 'sparc/master' into work.sparc32
... and resolve a non-textual conflict in arch/sparc/lib/memset.S - EXT(...) stuff shouldn't be reintroduced on merge.
This commit is contained in:
commit
73686e787b
7 changed files with 19 additions and 18 deletions
|
@ -176,7 +176,7 @@ config SMP
|
|||
Management" code will be disabled if you say Y here.
|
||||
|
||||
See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
|
||||
available at <http://www.tldp.org/docs.html#howto>.
|
||||
available at <https://www.tldp.org/docs.html#howto>.
|
||||
|
||||
If you don't know what to do here, say N.
|
||||
|
||||
|
|
|
@ -154,6 +154,10 @@ static off_t get_hdrs_offset(int kernelfd, const char *filename)
|
|||
offset -= LOOKBACK;
|
||||
/* skip a.out header */
|
||||
offset += AOUT_TEXT_OFFSET;
|
||||
if (offset < 0) {
|
||||
errno = -EINVAL;
|
||||
die("Calculated a negative offset, probably elftoaout generated an invalid image. Did you use a recent elftoaout ?");
|
||||
}
|
||||
if (lseek(kernelfd, offset, SEEK_SET) < 0)
|
||||
die("lseek");
|
||||
if (read(kernelfd, buffer, BUFSIZE) != BUFSIZE)
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*
|
||||
* When we spin, we try to use an operation that will cause the
|
||||
* current cpu strand to block, and therefore make the core fully
|
||||
* available to any other other runnable strands. There are two
|
||||
* available to any other runnable strands. There are two
|
||||
* options, based upon cpu capabilities.
|
||||
*
|
||||
* On all cpus prior to SPARC-T4 we do three dummy reads of the
|
||||
|
|
|
@ -113,7 +113,7 @@ extern unsigned long last_valid_pfn;
|
|||
extern void *srmmu_nocache_pool;
|
||||
#define __nocache_pa(VADDR) (((unsigned long)VADDR) - SRMMU_NOCACHE_VADDR + __pa((unsigned long)srmmu_nocache_pool))
|
||||
#define __nocache_va(PADDR) (__va((unsigned long)PADDR) - (unsigned long)srmmu_nocache_pool + SRMMU_NOCACHE_VADDR)
|
||||
#define __nocache_fix(VADDR) __va(__nocache_pa(VADDR))
|
||||
#define __nocache_fix(VADDR) ((__typeof__(VADDR))__va(__nocache_pa(VADDR)))
|
||||
|
||||
/* Accessing the MMU control register. */
|
||||
unsigned int srmmu_get_mmureg(void);
|
||||
|
|
|
@ -552,9 +552,8 @@ static void pci_of_scan_bus(struct pci_pbm_info *pbm,
|
|||
pci_info(bus, "scan_bus[%pOF] bus no %d\n",
|
||||
node, bus->number);
|
||||
|
||||
child = NULL;
|
||||
prev_devfn = -1;
|
||||
while ((child = of_get_next_child(node, child)) != NULL) {
|
||||
for_each_child_of_node(node, child) {
|
||||
if (ofpci_verbose)
|
||||
pci_info(bus, " * %pOF\n", child);
|
||||
reg = of_get_property(child, "reg", ®len);
|
||||
|
|
|
@ -428,7 +428,7 @@ static int process_dreg_info(struct vio_driver_state *vio,
|
|||
struct vio_dring_register *pkt)
|
||||
{
|
||||
struct vio_dring_state *dr;
|
||||
int i, len;
|
||||
int i;
|
||||
|
||||
viodbg(HS, "GOT DRING_REG INFO ident[%llx] "
|
||||
"ndesc[%u] dsz[%u] opt[0x%x] ncookies[%u]\n",
|
||||
|
@ -482,9 +482,7 @@ static int process_dreg_info(struct vio_driver_state *vio,
|
|||
pkt->num_descr, pkt->descr_size, pkt->options,
|
||||
pkt->num_cookies);
|
||||
|
||||
len = (sizeof(*pkt) +
|
||||
(dr->ncookies * sizeof(struct ldc_trans_cookie)));
|
||||
if (send_ctrl(vio, &pkt->tag, len) < 0)
|
||||
if (send_ctrl(vio, &pkt->tag, struct_size(pkt, cookies, dr->ncookies)) < 0)
|
||||
goto send_nack;
|
||||
|
||||
vio->dr_state |= VIO_DR_STATE_RXREG;
|
||||
|
|
|
@ -689,7 +689,7 @@ static void __init srmmu_early_allocate_ptable_skeleton(unsigned long start,
|
|||
pgdp = pgd_offset_k(start);
|
||||
p4dp = p4d_offset(pgdp, start);
|
||||
pudp = pud_offset(p4dp, start);
|
||||
if (pud_none(*(pud_t *)__nocache_fix(pudp))) {
|
||||
if (pud_none(*__nocache_fix(pudp))) {
|
||||
pmdp = __srmmu_get_nocache(
|
||||
SRMMU_PMD_TABLE_SIZE, SRMMU_PMD_TABLE_SIZE);
|
||||
if (pmdp == NULL)
|
||||
|
@ -698,7 +698,7 @@ static void __init srmmu_early_allocate_ptable_skeleton(unsigned long start,
|
|||
pud_set(__nocache_fix(pudp), pmdp);
|
||||
}
|
||||
pmdp = pmd_offset(__nocache_fix(pudp), start);
|
||||
if (srmmu_pmd_none(*(pmd_t *)__nocache_fix(pmdp))) {
|
||||
if (srmmu_pmd_none(*__nocache_fix(pmdp))) {
|
||||
ptep = __srmmu_get_nocache(PTE_SIZE, PTE_SIZE);
|
||||
if (ptep == NULL)
|
||||
early_pgtable_allocfail("pte");
|
||||
|
@ -810,11 +810,11 @@ static void __init srmmu_inherit_prom_mappings(unsigned long start,
|
|||
p4dp = p4d_offset(pgdp, start);
|
||||
pudp = pud_offset(p4dp, start);
|
||||
if (what == 2) {
|
||||
*(pgd_t *)__nocache_fix(pgdp) = __pgd(probed);
|
||||
*__nocache_fix(pgdp) = __pgd(probed);
|
||||
start += PGDIR_SIZE;
|
||||
continue;
|
||||
}
|
||||
if (pud_none(*(pud_t *)__nocache_fix(pudp))) {
|
||||
if (pud_none(*__nocache_fix(pudp))) {
|
||||
pmdp = __srmmu_get_nocache(SRMMU_PMD_TABLE_SIZE,
|
||||
SRMMU_PMD_TABLE_SIZE);
|
||||
if (pmdp == NULL)
|
||||
|
@ -822,13 +822,13 @@ static void __init srmmu_inherit_prom_mappings(unsigned long start,
|
|||
memset(__nocache_fix(pmdp), 0, SRMMU_PMD_TABLE_SIZE);
|
||||
pud_set(__nocache_fix(pudp), pmdp);
|
||||
}
|
||||
pmdp = pmd_offset(__nocache_fix(pgdp), start);
|
||||
pmdp = pmd_offset(__nocache_fix(pudp), start);
|
||||
if (what == 1) {
|
||||
*(pmd_t *)__nocache_fix(pmdp) = __pmd(probed);
|
||||
start += PMD_SIZE;
|
||||
continue;
|
||||
}
|
||||
if (srmmu_pmd_none(*(pmd_t *)__nocache_fix(pmdp))) {
|
||||
if (srmmu_pmd_none(*__nocache_fix(pmdp))) {
|
||||
ptep = __srmmu_get_nocache(PTE_SIZE, PTE_SIZE);
|
||||
if (ptep == NULL)
|
||||
early_pgtable_allocfail("pte");
|
||||
|
@ -836,7 +836,7 @@ static void __init srmmu_inherit_prom_mappings(unsigned long start,
|
|||
pmd_set(__nocache_fix(pmdp), ptep);
|
||||
}
|
||||
ptep = pte_offset_kernel(__nocache_fix(pmdp), start);
|
||||
*(pte_t *)__nocache_fix(ptep) = __pte(probed);
|
||||
*__nocache_fix(ptep) = __pte(probed);
|
||||
start += PAGE_SIZE;
|
||||
}
|
||||
}
|
||||
|
@ -850,7 +850,7 @@ static void __init do_large_mapping(unsigned long vaddr, unsigned long phys_base
|
|||
unsigned long big_pte;
|
||||
|
||||
big_pte = KERNEL_PTE(phys_base >> 4);
|
||||
*(pgd_t *)__nocache_fix(pgdp) = __pgd(big_pte);
|
||||
*__nocache_fix(pgdp) = __pgd(big_pte);
|
||||
}
|
||||
|
||||
/* Map sp_bank entry SP_ENTRY, starting at virtual address VBASE. */
|
||||
|
@ -940,7 +940,7 @@ void __init srmmu_paging_init(void)
|
|||
srmmu_ctx_table_phys = (ctxd_t *)__nocache_pa(srmmu_context_table);
|
||||
|
||||
for (i = 0; i < num_contexts; i++)
|
||||
srmmu_ctxd_set((ctxd_t *)__nocache_fix(&srmmu_context_table[i]), srmmu_swapper_pg_dir);
|
||||
srmmu_ctxd_set(__nocache_fix(&srmmu_context_table[i]), srmmu_swapper_pg_dir);
|
||||
|
||||
flush_cache_all();
|
||||
srmmu_set_ctable_ptr((unsigned long)srmmu_ctx_table_phys);
|
||||
|
|
Loading…
Reference in a new issue