Posts
4841
Following
322
Followers
492
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

Jarkko Sakkinen

a cosmetic #bug in #git:

suppilovahvero in keystone on  jarkkojs/spirs via △ v3.25.1
$ git add ../keystone/patches/linux/linux.vtpm.patch
fatal: ../keystone/patches/linux/linux.vtpm.patch: '../keystone/patches/linux/linux.vtpm.patch' is outside repository at '/home/jarkko/work/nisec/spirs/keystone'
1
0
0

Jarkko Sakkinen

#ctags and/or #cscope are tbh better options for browsing #kernel than #clangd because two former ignore kernel config/build when scanning for new tags. perhaps get_compile_commands.py could be improved a bit. #linux
0
0
0

Jarkko Sakkinen

Edited 2 years ago

#remindertomyself when editing #email with #aerc use CTRL-j and CTRL-k to move between header fields and the message body. I’ve got stuck to the CC list a few times and have sorted it out by killing the whole process, so this is definitely an improvement :-)

The key for finding out how to fix this was man aerc-tutorial. I was cursing for a while because man aerc was not giving me the answers, until I realized that there is another man page!

0
1
1

Jarkko Sakkinen

#notetomyself on #macos:

defaults write -g NSWindowShouldDragOnGesture -bool true 
0
0
0
@cute_stuff right it is a leftover, probably there's some other options that no longer make sense. it used to vimscript, which i rewrote in lua without much thinking involved :-)
0
0
0
and whether it could be a reproducible ofc
0
0
0

Jarkko Sakkinen

i wonder if #linux #kernel could have a make target for #LSP, i.e. just for generating compile_commands.json for everything, like you had local #bootlin #elixir. in the current form i rather use git grep because it is at least more universal, whereas the json file is tied to the current .config.
1
0
0

Jarkko Sakkinen

While people tend to have complex #vim and #neovim configurations I just have this tiny one, less than 100 lines :-) It has served me for years with minor adjustments…

vim.cmd("filetype plugin indent on")
vim.cmd [[packadd packer.nvim]]

local function plugins(use)
  use 'wbthomason/packer.nvim'
  use 'ap/vim-buftabline'
  use {
    'nvim-lualine/lualine.nvim',
    requires = { 'kyazdani42/nvim-web-devicons', opt = true }
  }
  use 'Mofiqul/dracula.nvim'
  use 'mmarchini/bpftrace.vim'
  use 'vim-scripts/git_patch_tags.vim'
  use {
    'nvim-treesitter/nvim-treesitter',
    run = ':TSUpdate'
  }
  use {
    'VonHeikemen/lsp-zero.nvim',
    branch = 'v2.x',
    requires = {
      {'neovim/nvim-lspconfig'},
      {
        'williamboman/mason.nvim',
        run = function()
          pcall(vim.cmd, 'MasonUpdate')
        end,
      },
      {'williamboman/mason-lspconfig.nvim'},
      {'hrsh7th/nvim-cmp'},
      {'hrsh7th/cmp-nvim-lsp'},
      {'L3MON4D3/LuaSnip'},
    }
  }
end

require('packer').startup(plugins)

vim.g.mapleader = ","
vim.opt.autoindent = true
vim.opt.backspace = "indent,eol,start"
vim.opt.backup = false
vim.opt.clipboard = "unnamedplus"
vim.opt.compatible = false
vim.opt.completeopt = "menuone,noinsert,noselect"
vim.opt.hidden = true
vim.opt.history = 2000
vim.opt.hlsearch = true
vim.opt.incsearch = true
vim.opt.listchars="tab:>-,trail:·"
vim.opt.mouse = ""
vim.opt.path:append("**")
vim.opt.ruler = true
vim.opt.shortmess:append("c")
vim.opt.showmatch = true
vim.opt.swapfile = false
vim.opt.tags = "./tags;/"
vim.opt.termguicolors = true
vim.opt.wildmenu = true
vim.opt.wrap = false

if vim.g.neovide then
  vim.o.guifont = "FiraCode Nerd Font Mono:h12"
end

vim.api.nvim_create_autocmd(
  { "FocusGained", "BufEnter" },
  { pattern = "*", command = [[:checktime]],
    group = vim.api.nvim_create_augroup("BufCheck", { clear = true }) }
)

local function nmap(shortcut, command)
  local opts = { noremap = true, silent = true }
  vim.api.nvim_set_keymap('n', shortcut, command, opts)
end

nmap("<silent>", "<C-l> :nohl<CR><C-l>")
nmap("<leader>cd", ":lcd %:p:h<CR>:pwd<CR>")

vim.cmd[[colorscheme dracula]]
require('lualine').setup {
  options = {
    theme = 'dracula-nvim'
  }
}
1
0
0

Jarkko Sakkinen

Edited 2 years ago
in-kernel #keystone #driver in-progress (actually it is functioning but I need to separate from research project codebase) https://github.com/keystone-enclave/keystone/pull/328 #linux #kernel #riscv
0
0
0

Jarkko Sakkinen

Edited 2 years ago
CoVE won't fly in the upstream as a single company endeavour as it would dominate the whole ecosystem, if it would. This type of collaboration would make the whole thing factors more appealing. Leveraging is often better than replacing IMHO.
0
0
0
Neither is a stable hardware architecture so bottlenecks in that area are not excuse not to engineer things better.
1
0
0

Jarkko Sakkinen

Edited 2 years ago
My first impressions of RISC-V CoVE: I don't see why it couldn't made to leverage #keystone for attestation.

It already has a community and legit use cases, which cannot be satisfied by CoVE. Why create this divergence and not to engineer things work together, when you have a chance? #riscv #linux #kernel #cove
1
0
0

Jarkko Sakkinen

Edited 2 years ago

for C++, #riscv collab #toolchain’s seem to be broken (or could be that I’m doing something wrong) so:

  1. For ELF (bare metal) and GLIBC targets I use whatever #ubuntu packages:

     sudo apt install {gcc,g++}-riscv64-linux-gnu \
                      linux-libc-dev-riscv64-cross

    CROSS_COMPILE is set to riscv64-linux-gnu-.

  2. For #musl I use #riscv collab provided toolchain

It is not perfect but it is definitely sustainable at least…

0
0
0

Jarkko Sakkinen

#notetomyself: download and extract #riscv #toolchain:

echo elf glibc musl | xargs -n1 | xargs -I{} echo https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2022.08.25/riscv64-{}-ubuntu-20.04-nightly-2022.08.25-nightly.tar.gz | xargs curl -sSL | tar zx -i
1
1
2

Jarkko Sakkinen

thinking of #chatgpt, i'm more interested what people can do with it, which previously was not possible, rather than what it can do previously performed by human labour.

doing factors faster previous science is not overwhelmingly interesting in the end.
0
0
0

Jarkko Sakkinen

Edited 2 years ago

Fetching a tag from #ubuntu #linux #kernel tree:

function git-fetch-linux-ubuntu-tag {
  local tag=refs/tags/cod/mainline/$1
  git fetch --no-tags \
    git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack \
    $tag:$tag
}

Usage example:

$ git checkout -b tmp
Switched to a new branch 'tmp'

$ git-fetch-linux-ubuntu-tag v6.3
From git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
 * [new tag]                   cod/mainline/v6.3 -> cod/mainline/v6.3

$ git merge v6.3

Building:

LANG=C fakeroot debian/rules clean
LANG=C fakeroot debian/rules binary-headers binary-generic binary-perarch
0
0
0
still no idea how to remove duplicate emails, and the query language is not in par with mutt but benefits overcome these minor glitches :-)
0
0
1

Jarkko Sakkinen

thank you #mutt 1999-2023, i've now fully moved into #aerch as my main #email client. https://aerc-mail.org/
1
0
0
Show older