{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":346359424,"defaultBranch":"master","name":"opensbi","ownerLogin":"c-sky","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-03-10T13:06:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/20539365?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1618734148.0029671","currentOid":""},"activityList":{"items":[{"before":"c6a092cd80112529cb2e92e180767ff5341b22a3","after":"b20bd479eff1588bfea52cceda213c40cc273ba9","ref":"refs/heads/master","pushedAt":"2023-09-07T02:54:19.000Z","pushType":"push","commitsCount":115,"pusher":{"login":"cp0613","name":null,"path":"/cp0613","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26532252?s=80&v=4"},"commit":{"message":"lib: sbi: improve the definition of SBI_IPI_EVENT_MAX\n\nThe previous definition had the assumption that the machine word length\nis equal to the word length of LONG. Remove this assumption and add a\nstatic check to prevent errors in subsequent modifications.\n\nSigned-off-by: Xiang W \nReviewed-by: Anup Patel ","shortMessageHtmlLink":"lib: sbi: improve the definition of SBI_IPI_EVENT_MAX"}},{"before":"50d4fde1c5a4ceb063d7f9a402769fb5be6d59ad","after":"c6a092cd80112529cb2e92e180767ff5341b22a3","ref":"refs/heads/master","pushedAt":"2023-04-03T06:47:51.937Z","pushType":"push","commitsCount":512,"pusher":{"login":"cp0613","name":null,"path":"/cp0613","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26532252?s=80&v=4"},"commit":{"message":"lib: sbi: Clear IPIs before init_warm_startup in non-boot harts\n\nSince commit 50d4fde1c5a4 (\"lib: Remove redundant sbi_platform_ipi_clear()\ncalls\"), the IPI sent from the boot hart in wake_coldboot_harts() is not\ncleared in the secondary harts until they reach sbi_ipi_init(). However,\nsbi_hsm_init() and sbi_hsm_hart_wait() are called earlier, so a secondary\nhart might enter sbi_hsm_hart_wait() with an already pending IPI.\n\nsbi_hsm_hart_wait() makes sure the hart leaves the loop only when it is\nactually ready, so a pending unrelated IPI should not cause safety issues.\nHowever, it might be inefficient on certain hardware, because it prevents\n\"wfi\" from stalling the hart even if the hardware supports this, making the\nhart needlessly spin in a \"busy-wait\" loop.\n\nThis behaviour can be observed, for example, in a QEMU VM (QEMU 7.2.0) with\n\"-machine virt\" running a Linux guest. Inserting delays in\nsbi_hsm_hart_start() allows reproducing the issue more reliably.\n\nThe comment in wait_for_coldboot() suggests that the initial IPI is needed\nin the warm resume path, so let us clear it before init_warm_startup()\nonly.\n\nTo do this, sbi_ipi_raw_clear() was created similar to sbi_ipi_raw_send().\n\nSigned-off-by: Evgenii Shatokhin \nReviewed-by: Anup Patel ","shortMessageHtmlLink":"lib: sbi: Clear IPIs before init_warm_startup in non-boot harts"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADexjAtQA","startCursor":null,"endCursor":null}},"title":"Activity ยท c-sky/opensbi"}