{"id":13640949,"url":"https://github.com/AOSC-Dev/la_ow_syscall","last_synced_at":"2025-04-20T07:31:21.629Z","repository":{"id":212100651,"uuid":"730235497","full_name":"AOSC-Dev/la_ow_syscall","owner":"AOSC-Dev","description":"Linux kernel module for compatibility with LoongArch's old-world ABI","archived":false,"fork":false,"pushed_at":"2024-08-20T12:37:36.000Z","size":52,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-21T07:59:52.507Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AOSC-Dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-11T13:45:32.000Z","updated_at":"2024-08-21T07:59:52.508Z","dependencies_parsed_at":"2024-08-20T08:04:45.899Z","dependency_job_id":null,"html_url":"https://github.com/AOSC-Dev/la_ow_syscall","commit_stats":null,"previous_names":["shankerwangmiao/la_ow_syscall"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AOSC-Dev%2Fla_ow_syscall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AOSC-Dev%2Fla_ow_syscall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AOSC-Dev%2Fla_ow_syscall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AOSC-Dev%2Fla_ow_syscall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AOSC-Dev","download_url":"https://codeload.github.com/AOSC-Dev/la_ow_syscall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223821961,"owners_count":17208773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:01:16.119Z","updated_at":"2024-11-09T11:30:31.555Z","avatar_url":"https://github.com/AOSC-Dev.png","language":"C","readme":"la\\_ow\\_syscall\n====\n\nThis kernel modules provides compatibility with LoongArch's old-world ABI,\nmaking it possible to run old-world applications (such as Kingsoft's WPS Office\nand Tencent QQ) transparently on new-world (ABI 2.0) kernels and userspaces.\n\nRequirements\n----\n\nLinux Kernel \u003e= 6.1.0 for `loongarch64` with the following option(s) set:\n\n- `CONFIG_KALLSYMS=y` (for reading kernel symbol addresses).\n- `CONFIG_KPROBES=y` (for probing kernel symbol addresses using kernels where\n  base address randomisation - `CONFIG_RANDOMIZE_BASE` - is enabled).\n\nInstallation\n----\n\nYou may install this kernel both as an in-tree module, an out-of-tree DKMS\ndynamic module, or a version-specific module. You may pick any option that best\nsuits your needs.\n\n### In-tree module\n\nCopy this source tree as `arch/loongarch/ow_syscall` in your kernel tree and\nappend the following to `arch/loongarch/Kbuild`:\n\n```\nobj-y += ow_syscall/\n```\n\nAfter building the kernel with `make`, run the following command to build the\nkernel module:\n\n```\n# $PWD is containing built objects\n# /path/to/source_dir is containing Linux source code\nmake \\\n    -C /path/to/source_dir \\\n    ARCH=loongarch \\\n    O=\"$PWD\" \\\n    arch/loongarch/ow_syscall/la_ow_syscall.ko \\\n    CONFIG_LOONGARCH_OW_SYSCALL=m\n```\n\nUpon completion, copy the kernel module in place\n(`/lib/modules/.../arch/loongarch/ow_syscall/la_ow_syscall.ko`) and\nre-generate modules.dep and map files:\n\n```\ndepmod\n```\n\n### DKMS dynamic module\n\nGenerate a `dkms.conf`:\n\n```\nmake dkms.conf\n```\n\nFor installation and version management, refer to dkms(8) for details.\n\n### Version-specific module\n\nBuild the kernel module:\n\n```\nmake\n```\n\nLoad the module with super user or root privilege:\n\n```\ninsmod la_ow_syscall.ko\n```\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAOSC-Dev%2Fla_ow_syscall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAOSC-Dev%2Fla_ow_syscall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAOSC-Dev%2Fla_ow_syscall/lists"}