{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":30304393,"defaultBranch":"for-next","name":"linux","ownerLogin":"openrisc","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2015-02-04T15:04:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2188783?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1656379517.6285272","currentOid":""},"activityList":{"items":[{"before":"68b70ab43cecfc960e119300136e72c141471b12","after":"4dc70e1aadfadf968676d983587c6f5d455aba85","ref":"refs/heads/for-next","pushedAt":"2024-04-15T14:20:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Move FPU state out of pt_regs\n\nMy original, naive, FPU support patch had the FPCSR register stored\nduring both the *mode switch* and *context switch*. This is wasteful.\n\nAlso, the original patches did not save the FPU state when handling\nsignals during the system call fast path.\n\nWe fix this by moving the FPCSR state to thread_struct in task_struct.\nWe also introduce new helper functions save_fpu and restore_fpu which\ncan be used to sync the FPU with thread_struct. These functions are now\ncalled when needed:\n\n - Setting up and restoring sigcontext when handling signals\n - Before and after __switch_to during context switches\n - When handling FPU exceptions\n - When reading and writing FPU register sets\n\nIn the future we can further optimize this by doing lazy FPU save and\nrestore. For example, FPU sync is not needed when switching to and from\nkernel threads (x86 does this). FPU save and restore does not need to\nbe done two times if we have both rescheduling and signal work to do.\nHowever, since OpenRISC FPU state is a single register, I leave these\noptimizations for future consideration.\n\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Move FPU state out of pt_regs"}},{"before":"7f1e2fc493480086fbb375f4f6d33cb93fc069d6","after":"68b70ab43cecfc960e119300136e72c141471b12","ref":"refs/heads/for-next","pushedAt":"2024-04-11T18:11:47.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Move FPU state out of pt_regs\n\nMy original, naive, FPU support patch had the FPCSR register stored\nduring both the *mode switch* and *context switch*. This is wasteful.\n\nAlso, the original patches did not save the FPU state when handling\nsignals during the system call fast path.\n\nWe fix this by moving the FPCSR state to thread_struct in task_struct.\nWe also introduce new helper functions save_fpu and restore_fpu which\ncan be used to sync the FPU with thread_struct. These functions are now\ncalled when needed:\n\n - Setting up and restoring sigcontext when handling signals\n - Before and after __switch_to during context switches\n - When handling FPU exceptions\n - When reading and writing FPU register sets\n\nIn the future we can further optimize this by doing lazy FPU save and\nrestore. For example, FPU sync is not needed when switching to and from\nkernel threads (x86 does this). FPU save and restore does not need to\nbe done two times if we have both rescheduling and signal work to do.\nHowever, since OpenRISC FPU state is a single register, I leave these\noptimizations for future consideration.\n\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Move FPU state out of pt_regs"}},{"before":"c289330331eb93bc6a3c68b9119ccd7d4285a4a2","after":"7f1e2fc493480086fbb375f4f6d33cb93fc069d6","ref":"refs/heads/for-next","pushedAt":"2024-03-10T09:00:26.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Use asm-generic's version of fix_to_virt() & virt_to_fix()\n\nOpenrisc's implementation of fix_to_virt() & virt_to_fix() share same\nfunctionality with ones of asm generic.\n\nPlus, generic version of fix_to_virt() can trap invalid index at compile\ntime.\n\nThus, Replace the arch-specific implementations with asm generic's ones.\n\nSigned-off-by: Dawei Li \nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Use asm-generic's version of fix_to_virt() & virt_to_fix()"}},{"before":"232ba1630c666b37a5045781e6513cba607fb0d5","after":"c289330331eb93bc6a3c68b9119ccd7d4285a4a2","ref":"refs/heads/for-next","pushedAt":"2023-08-24T06:01:47.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Remove kernel-doc marker from ioremap comment\n\nReplace the kernel-doc marker (/**) with a regular comment to fix the\nwarning:\n\n arch/openrisc/mm/ioremap.c:108: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst\n\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Remove kernel-doc marker from ioremap comment"}},{"before":"dceaafd668812115037fc13a1893d068b7b880f5","after":"232ba1630c666b37a5045781e6513cba607fb0d5","ref":"refs/heads/for-next","pushedAt":"2023-08-11T20:43:52.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Make pfn accessors statics inlines\n\nMaking virt_to_pfn() a static inline taking a strongly typed\n(const void *) makes the contract of a passing a pointer of that\ntype to the function explicit and exposes any misuse of the\nmacro virt_to_pfn() acting polymorphic and accepting many types\nsuch as (void *), (unitptr_t) or (unsigned long) as arguments\nwithout warnings.\n\nFor symmetry, do the same with pfn_to_virt().\n\nSigned-off-by: Linus Walleij \nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Make pfn accessors statics inlines"}},{"before":"10f061c8fb59610e394f76312fc206a593c6610e","after":"dceaafd668812115037fc13a1893d068b7b880f5","ref":"refs/heads/for-next","pushedAt":"2023-07-10T21:04:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Union fpcsr and oldmask in sigcontext to unbreak userspace ABI\n\nWith commit 27267655c531 (\"openrisc: Support floating point user api\") I\nadded an entry to the struct sigcontext which caused an unwanted change\nto the userspace ABI.\n\nTo fix this we use the previously unused oldmask field space for the\nfloating point fpcsr state. We do this with a union to restore the ABI\nback to the pre kernel v6.4 ABI and keep API compatibility.\n\nThis does mean if there is some code somewhere that is setting oldmask\nin an OpenRISC specific userspace sighandler it would end up setting the\nfloating point register status, but I think it's unlikely as oldmask was\nnever functional before.\n\nFixes: 27267655c531 (\"openrisc: Support floating point user api\")\nReported-by: Szabolcs Nagy \nCloses: https://lore.kernel.org/openrisc/20230626213840.GA1236108@port70.net/\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Union fpcsr and oldmask in sigcontext to unbreak userspace ABI"}},{"before":"42b37a13a1f252fedae18a98b4165dc057394076","after":"10f061c8fb59610e394f76312fc206a593c6610e","ref":"refs/heads/for-next","pushedAt":"2023-07-07T21:01:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Union fpcsr and oldmask in sigcontext to unbreak userspace ABI\n\nWith commit 27267655c531 (\"openrisc: Support floating point user api\") I\nadded an entry to the struct sigcontext which caused an unwanted to\nchange to the userspace ABI.\n\nTo fix this we use the previously unused oldmask field space for the\nfloating point fpcsr state. We do this with a union to restore the ABI\nback to the pre kernel v6.4 ABI and keep API compatibility.\n\nThis does mean if there is some code somewhere that is setting oldmask\nin an OpenRISC specific userspace sighandler it would end up setting the\nfloating point register status, but I think it's unlikely as oldmask was\nnever functional before.\n\nFixes: 27267655c531 (\"openrisc: Support floating point user api\")\nReported-by: Szabolcs Nagy \nCloses: https://lore.kernel.org/openrisc/20230626213840.GA1236108@port70.net/\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Union fpcsr and oldmask in sigcontext to unbreak userspace ABI"}},{"before":"219e31a0a39b01a5e510cb84f80c80d82c657fef","after":"42b37a13a1f252fedae18a98b4165dc057394076","ref":"refs/heads/for-next","pushedAt":"2023-07-05T21:22:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Union fpcsr and oldmask in sigcontext to unbreak userspace ABI\n\nWith commit 27267655c531 (\"openrisc: Support floating point user api\") I\ninproperly added an entry to the struct sigcontext which caused an\nunwanted to chagne to the userspace ABI.\n\nSince oldmask was never used in OpenRISC we now use it's space for the\nfloating point fpcsr state. We do this with a union to restore the ABI\nback to the pre kernel v6.4 ABI and keep API compatibility.\n\nThis does mean if there is some code somewhere that is setting oldmask\nin a userspace sighandler it would end up setting the floating point\nregister status, but I think it's unlikely as oldmask was never used\nbefore.\n\nFixes: 27267655c531 (\"openrisc: Support floating point user api\")\nReported-by: Szabolcs Nagy \nCloses: https://lore.kernel.org/openrisc/20230626213840.GA1236108@port70.net/\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Union fpcsr and oldmask in sigcontext to unbreak userspace ABI"}},{"before":"c91b4a07655d5ba67962a08dfac8bd7f45ad049c","after":"219e31a0a39b01a5e510cb84f80c80d82c657fef","ref":"refs/heads/for-next","pushedAt":"2023-07-01T08:02:45.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Revert adding fpcsr to sigcontext to unbreak userspace ABI\n\nWith commit 27267655c531 (\"openrisc: Support floating point user api\") I\ninproperly added an entry to the struct sigcontext which caused an\nunwanted to chagne to the userspace ABI.\n\nRevert this change to restore the ABI back to the pre kernel v6.4 ABI.\n\nThis means that fpcsr will not be accessible in signal handlers, but\nthat should be fine.\n\nFixes: 27267655c531 (\"openrisc: Support floating point user api\")\nReported-by: Szabolcs Nagy \nCloses: https://lore.kernel.org/openrisc/20230626213840.GA1236108@port70.net/\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Revert adding fpcsr to sigcontext to unbreak userspace ABI"}},{"before":"1aff44abf68a8000fcb3502fc2b704f20de4535f","after":"c91b4a07655d5ba67962a08dfac8bd7f45ad049c","ref":"refs/heads/for-next","pushedAt":"2023-04-26T14:10:47.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Add floating point regset\n\nDefine REGSET_FPU to allow reading and writing the FPCSR fpu state\nregister. This will be used primarily by debuggers like GDB.\n\nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Add floating point regset"}},{"before":"34a0bac084e49324c29e6d0984d24096e02c6314","after":"1aff44abf68a8000fcb3502fc2b704f20de4535f","ref":"refs/heads/for-next","pushedAt":"2023-04-01T05:47:20.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"stffrdhrn","name":"Stafford Horne","path":"/stffrdhrn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2404255?s=80&v=4"},"commit":{"message":"openrisc: Use common of_get_cpu_node() instead of open-coding\n\nThe common of_get_cpu_node() is equivalent to setup_find_cpu_node(), so\nuse it instead.\n\nSigned-off-by: Rob Herring \nSigned-off-by: Stafford Horne ","shortMessageHtmlLink":"openrisc: Use common of_get_cpu_node() instead of open-coding"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEMQWZbAA","startCursor":null,"endCursor":null}},"title":"Activity ยท openrisc/linux"}