Giter Club home page Giter Club logo

la_ow_syscall's Introduction

la_ow_syscall

This kernel modules provides compatibility with LoongArch's old-world ABI, making it possible to run old-world applications (such as Kingsoft's WPS Office and Tencent QQ) transparently on new-world (ABI 2.0) kernels and userspaces.

Requirements

Linux Kernel >= 6.1.0 for loongarch64 with the following option(s) set:

  • CONFIG_KALLSYMS=y (for reading kernel symbol addresses).
  • CONFIG_KPROBES=y (for probing kernel symbol addresses using kernels where base address randomisation - CONFIG_RANDOMIZE_BASE - is enabled).

Installation

You may install this kernel both as an in-tree module, an out-of-tree DKMS dynamic module, or a version-specific module. You may pick any option that best suits your needs.

In-tree module

Copy this source tree as arch/loongarch/ow_syscall in your kernel tree and append the following to arch/loongarch/Kbuild:

obj-y += ow_syscall/

After building the kernel with make, run the following command to build the kernel module:

# $PWD is containing built objects
# /path/to/source_dir is containing Linux source code
make \
    -C /path/to/source_dir \
    ARCH=loongarch \
    O="$PWD" \
    arch/loongarch/ow_syscall/la_ow_syscall.ko \
    CONFIG_LOONGARCH_OW_SYSCALL=m

Upon completion, copy the kernel module in place (/lib/modules/.../arch/loongarch/ow_syscall/la_ow_syscall.ko) and re-generate modules.dep and map files:

depmod

DKMS dynamic module

Generate a dkms.conf:

make dkms.conf

For installation and version management, refer to dkms(8) for details.

Version-specific module

Build the kernel module:

make

Load the module with super user or root privilege:

insmod la_ow_syscall.ko

la_ow_syscall's People

Contributors

shankerwangmiao avatar liushuyu avatar mingcongbai avatar yetist avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.