tree 4381b5dd05bc03897d32f1e6e4364ae3cb22a6b4
parent 8530684fd37c151bbcf6c101ea3d0d784e221d98
parent e05d57dcb8c71492268ff46ba9bfe9a9cfb1f95d
author Linus Torvalds <torvalds@linux-foundation.org> 1593272952 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1593272952 -0700
mergetag object e05d57dcb8c71492268ff46ba9bfe9a9cfb1f95d
 type commit
 tag riscv-for-linus-5.8-rc3
 tagger Palmer Dabbelt <palmerdabbelt@google.com> 1593189962 -0700
 
 RISC-V Fixes for 5.8-rc3
 
 This contains a handful of fixes I'd like to target for rc3.  Most of them fix
 issues with the conversion of our vDSO to C.  There is also one fix to the
 SiFive PRCI driver that I picked up as it's causing boot issues on the
 hardware.
 
 * A fix to allow kernels with dynamic ftrace to use the vDSO.
 * Some build fixes for the C vDSO functions.
 * A fix to the PRCI driver's memory allocation, which was the cause of some
   boot panics with FREELIST_RANDOM.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEKzw3R0RoQ7JKlDp6LhMZ81+7GIkFAl72MdQTHHBhbG1lckBk
 YWJiZWx0LmNvbQAKCRAuExnzX7sYieNsEACluidZsgOe1yI6SfKSh3EE4mt1GA4l
 gmUe5eBw4tvam4EpF+qZrqcRIeIrJVFg3OV0Fy1DBGOEvmsxBETtPy9ZsriEkaqK
 6qsjMNGK93B5/xbS1hPVNVCKLsWQ58hUivdMxVR53oyf0YZVOC5buW3br41W4xzo
 o56eJreJQDVMwerwPA/0Wo6M/NjPOwsJWJ81zpt5ABFWbb48/emIawifzMaaZ1nb
 qjeXebWHl1iayo93aiiCfWPjfUrKsDWNIqhtJ9c5VX8n3w/sODdaZLZnIGAWH4b5
 Bnki8+lbsjkrRGWKu1zssMa+76njuzBolXiHo3iygGL/dbsiDyqE6OFw6lIqkhDT
 v4ioliIbp3OFQCNAQMFqWcbDIqalRkmklYWPJ2KffntH+MsdkQYICy1Gt0J+5jXE
 g7E8xGMZdGDCLvPUtfKLhULvFIY2kQzz6jlAyueVp9VuOT/OaaHbu1yKMOEJLpjq
 t3qqwtNnLsu5eTuB34WMs6zliC1fcFR4JbbX3N4rLI7euRhpt9Wa8pcI3InhP211
 0VruvaDnRj2mfUTCYHRamJJrq9c16jauT97ATxHmRQQvaAqyt/s+1tnvdh6lf09D
 b97WtPyc0gPI7VavfPzoKUFo2g8rzmvQB2Tc4v9lMB1nxWqe5ozH9+e7ZMTXTUJ6
 JPjVNf/B0hVS1w==
 =Pupr
 -----END PGP SIGNATURE-----

Merge tag 'riscv-for-linus-5.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V fixes from Palmer Dabbelt:
 "This contains a handful of fixes I'd like to target for rc3.

  Most of them fix issues with the conversion of our vDSO to C. There is
  also one fix to the SiFive PRCI driver that I picked up as it's
  causing boot issues on the hardware.

   - A fix to allow kernels with dynamic ftrace to use the vDSO.

   - Some build fixes for the C vDSO functions.

   - A fix to the PRCI driver's memory allocation, which was the cause
     of some boot panics with FREELIST_RANDOM"

* tag 'riscv-for-linus-5.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
  riscv: Fixup __vdso_gettimeofday broke dynamic ftrace
  riscv: Add extern declarations for vDSO time-related functions
  clk: sifive: allocate sufficient memory for struct __prci_data
  riscv: Add -fPIC option to CFLAGS_vgettimeofday.o
