Commit graph

339 commits

Author SHA1 Message Date
Jacob Moody
7276be7b2d /sys/lib/dist/ndb/common: add git and gits 2024-11-07 00:40:35 +00:00
qwx
f00a88b509 /sys/lib/dist/ndb/common: add hjgit port, remove unused 2024-08-01 14:31:59 +00:00
Ori Bernstein
2dc68de342 git: use native merge3 program instead of ape/diff3 2024-07-30 01:55:29 +00:00
Sigrid Solveig Haflínudóttir
9b5d186746 it kbmap: more mapping fixes (thank shura)
The Italian keyboard layout is ISO, and unlike the ANSI layout,
it has an extra key between Shift and Z, and the key above Enter,
which becomes vertical, is moved to the bottom left of it.

 - the key between Shift and Z is mapped to `<`, and shift+`<` is mapped to `>`
 - the old `>` (at the bottom left of Enter) is mapped to `ù`
 - shift+`ù` is mapped to `§`
 - the old shift+`"` is mapped to `°`
 - altgr+`'` is mapped to backtick
 - altgr+`ì` is mapped to `~`
 - altgr+`e` is mapped to `€`
 - shiftaltgr+`[` is mapped to `{`
 - shiftaltgr+`]` is mapped to `}`
2024-06-25 15:52:36 +00:00
Emery Hemingway
2760eef549 kbmap: add Workman layout 2024-01-22 11:13:14 +00:00
Sigrid Solveig Haflínudóttir
c05ee321f8 it kbmap: fix > and < (thanks NeuraL) 2024-06-25 13:23:06 +00:00
Keegan Saunders
8e03baff8b add honeycomb kernel
This is a kernel for the NXP LX2160A, specifically the SolidRun
Honeycomb board which is available for sale on the SolidRun
website.

It currently boots on U-Boot. UEFI support is planned. Build or
download the U-Boot firmware from the SolidRun site and then write
it to the on-board SD card. Then, plug in a USB with the honeycomb
image and proceed to install as normal. Only NVMe or USB storage
is supported (SATA is planned).

This kernel supports PCIe and USB. On-board ethernet and SFP are
not supported (yet). It uses 2GB of memory by default, but that
can be increased using *maxmem depending on how much RAM you have
in the system. As well, SMP is currently disabled until an
uncommon deadlock issue is fixed (could be a hardware issue, unknown
at this point).
2024-05-21 23:54:48 +00:00
Jacob Moody
39c021fbc1 /sys/lib/acid: add power64 2023-11-04 20:52:35 +00:00
Jacob Moody
0320813091 /sys/lib/dist/ndb/common: remove old random auth domains 2024-04-23 00:55:07 +00:00
Jacob Moody
46b4b99997 /sys/lib/dist/ndb: update root servers and add script to keep them updated
Also remove dnsdump as that feature is dead now.
2024-04-21 18:20:30 +00:00
Roberto E. Vargas Caballero
c655b6552c Add caps kbmap
The default behaviour of the key labelled as Caps Lock is
to be a Ctrl key, but in some cases in can be desirable
to have it like an actual Caps Lock. A new kbmap file is
added and the keyboard documentation is updated.

git/commit /sys/lib/kbmap/caps /sys/man/6/keybo
2024-04-19 11:55:01 +00:00
cinap_lenrek
ad9748422e kernel: Fix qio flow control
There is a pathological case with qio that triggers
a dead-lock for single threaded servers and
multiple requesters that can be reproduced like this:

int pfd[2];

void
main(int argc, char *argv[])
{
	char buf[0x10000];
	int i, n;

	ARGBEGIN {
	} ARGEND;

	if(pipe(pfd) < 0)
		sysfatal("pipe: %r");

	if(fork() == 0){
		while((n = read(pfd[0], buf, sizeof(buf))) > 0){
			sleep(10);
			write(pfd[0], buf, n);
		}
		exits(nil);
	}

	for(i = 0; i < PROCS; i++){
		if(fork() == 0){
			buf[0] = i;
			for(;;){
				write(pfd[1], buf, sizeof(buf));
				if(read(pfd[1], buf, sizeof(buf)) <= 0)
					break;
				print("%d %d\n", i, buf[0]);
			}
			exits(nil);
		}
	}
	waitpid();
}

The problem is how the reader decides to wake up the writer,
which was based only on the global queue length, but it should
really depend on the local queuing position of the writers
and their distance to the reader position.

Otherwise, a writer can be blocked even tho its message
has already been consumed by the reader.
When the reader tries to reply, it can get blocked himself
on writing the reply.

The new qio code basically makes sure that writers get
unblocked in order avoiding the issue.

The qio block statistics and qwindow() are gone now as
they where mostly unused.
2024-03-24 20:37:01 +00:00
cinap_lenrek
e97719f416 /lib/ndb/common: add tcp=dot port=853 entry 2024-01-28 18:10:27 +00:00
cinap_lenrek
fb1eadf6ed /sys/lib/acid/kernel: fix proctab() 2023-12-31 19:23:22 +00:00
Jacob Moody
34821e8b4c /sys/lib/dist/mkfile: include /386/mbr et al in disk images 2023-11-12 19:34:57 +00:00
Jacob Moody
57bf8f165d distproto: include /lib/ucd in releases
The move from /lib/unicode to /lib/ucd was
not reflected in the proto files.
2023-11-10 00:01:38 +00:00
Keegan Saunders
dd79854239 add arm64 qemu kernel
This kernel is designed for running on the QEMU "virt"
machine. It implements the QEMU ECAM-based PCIe and
utilizes VirtIO drivers for networking and storage.
USB, screen and so on are umimplemented, because this
kernel is meant to be installed via UART, and then
administered as a CPU server via rcpu. It is booted
using U-Boot, so the QEMU "virt" machine "firmware"
is required, otherwise installation is straightforward.

This is the QEMU command used to run this kernel on
an M1 Mac under Hypervisor.framework:

	qemu-system-aarch64 -M virt-2.12,accel=hvf,gic-version=3 \
		-cpu host -m 4G -smp 4 \
		-bios u-boot.bin \
		-drive file=9front.arm64.qcow2,if=none,id=disk \
		-device virtio-blk-pci-non-transitional,drive=disk \
		-serial stdio

This code is based off of the i.MX 8 kernel.
2023-10-29 00:41:46 +00:00
cinap_lenrek
68bba88d78 yacc: define dummy yytokname() and yystatname() macros if not yydebug 2023-08-27 19:09:57 +00:00
Jacob Moody
19b38409fc ktrans: pinyin, cleanup and documentation updates
* Added pinyin alternative Chinese input dictionary
* Remove Cyrilic and Greek input, use kbmap instead
* Ensure ktrans dictionaries are copied to iso
* Cleanup ktrans(1)
* Document dictionary format in ktrans(6)
* Fix ktrans example in riow(1)
2023-08-09 23:33:59 +00:00
Jacob Moody
41d1a883e5 /sys/lib/acid/port: mind upper bounds of fnbound
Fnbound's upper bound is exclusive.
2023-08-08 04:17:28 +00:00
Jacob Moody
06ba01b816 replace ? with ؟ character in fa kbmap (thanks mkf) 2023-07-22 15:12:03 +00:00
Sigrid Solveig Haflínudóttir
5867803155 /sys/lib/dist/ndb/common: add esmtp (port 587) 2023-07-13 16:41:36 +00:00
Sigrid Solveig Haflínudóttir
ff0da68f6e newuser: use non-expanded $home instead of /usr/$user in lib/plumbing comment 2023-07-06 16:13:20 +00:00
Sigrid Solveig Haflínudóttir
eaf799e8c4 libmach/acid: add basic FP support for arm64 2023-05-10 20:57:17 +00:00
Jacob Moody
218f7a9ec7 qcowfs(8) 2023-04-01 18:05:27 +00:00
Ori Bernstein
31913a8524 mkfiles: add 'mk test' support
9front has several tests scattered throughout the source,
as well as more tests in an external 'regress' repository.
Many of these tests are broken, because there is no easy
way to build and track all of them.

This pulls in several tests from different sources, deletes
the broken tests, tests with missing data, and adds a single
command that can be run from the root of the src directory
to test our system.

The hope is that as we develop new code, we add more tests,
and eventually start running the tests on every commit.
Please enter the commit message for your changes. Lines starting
2023-02-19 20:44:56 -05:00
mkf
d20cf9ff42 add standard farsi keymap 2023-02-06 17:40:26 +00:00
Sigrid Solveig Haflínudóttir
bb36ba0617 plumb fileaddr: match with a trailing colon 2023-01-17 13:14:06 +00:00
cinap_lenrek
8b5714139b reform: only override console=0 when no plan9.ini is passed
The kernel used to always set console=0, which as
usefull during bring-up, but makes it impossible
to use the uart for other purposes.

We now have the ability to pass plan9.ini using
the u-boot script, so add the console=0 line there.

To make debugging easy, we still apply
console=0 if no plan9.ini has been passed.
2022-10-31 12:44:09 +00:00
Jacob Moody
7ea770830e /sys/lib/kbmap/jp: correct Zenkaku control character
Historically, ktrans used ^t for completion as denoted in the older
README's and thus likely was using ^e for (e)nglish mode at some point.
While the ktrans we imported had this changed around already, our older
Jp kbmap was still emitting ^e for Zenkaku. This has been updated
to give ^t, the current control sequence for english mode.
2022-10-12 18:25:47 +00:00
Sigrid Solveig Haflínudóttir
b38a3d2a0d nusb/kb, aux/kbdfs: add brightness down/up media keys 2022-10-06 19:45:25 +00:00
Sigrid Solveig Haflínudóttir
d2049c206c aux/kbdfs, nusb/kb: add basic media keys support; add /dev/hidNctl to change repeat/delay; fix a race condition 2022-10-04 23:47:47 +00:00
Michael Forney
053e1f71c4 git: clear status on whoami success
Otherwise, not taking the if branch will leave a failing status for
the caller.
2022-10-04 18:32:53 +00:00
Sigrid Solveig Haflínudóttir
4ba285fb7d audio/zuke: fix/enable playlist loading via plumber "audio" port 2022-09-20 16:54:36 +00:00
Ori Bernstein
60f9467c01 git/commit: user better defaults for username
use '$user@$sysname' instead of 'glenda@9front.local'
2022-08-13 19:35:43 +00:00
cinap_lenrek
845f8d12e4 /sys/lib/dist/mkfile: create a default plan9.ini for reform image 2022-07-10 16:50:07 +00:00
cinap_lenrek
7bae48c452 generate boot.scr in /sys/src/boot/reform 2022-06-18 18:23:22 +00:00
cinap_lenrek
ff7aa0671d /sys/lib/dist/mkfile: add target for mnt-reform image 2022-06-18 18:15:47 +00:00
Ori Bernstein
b8d7bbf223 kbmap: add latin american keymap (thanks ssf) 2022-05-24 16:29:05 +00:00
Ori Bernstein
5dd9b370a0 git/merge: correctly preserve permissions when merging
when doing a 3 way merge of a file, we also need to do a
merge of the permission bits to avoid clobberign them.
2022-05-15 16:29:48 +00:00
Ori Bernstein
3d047ddf03 git/common.rc: create required directories
we forgot a couple of directories when branching.
2022-04-19 14:34:48 +00:00
cinap_lenrek
f84cf1e604 /sys/lib/newuser: fix wsys botch, crate bin/arm64 2022-04-13 13:53:12 +00:00
Stuart Morrow
3f49507786 mainly just spelling and typos 2021-11-01 20:49:43 +00:00
cinap_lenrek
854cd42fe1 rootstub: create /sys/lib/tls/acmed directory 2021-10-27 17:05:07 +00:00
cinap_lenrek
de62d32422 /lib/ndb/local: add dnschallenge ndb file for acmed(8) by default 2021-10-25 22:40:36 +00:00
cinap_lenrek
6e8b8c8f1a /sys/lib/acid/pool: format addresses using A format, instead of X (32 bit) 2021-09-25 14:51:23 +00:00
Ori Bernstein
d9564c0642 git: separate author and committer
Git has the ability to track the person who
creates a commit separately from the person
who wrote the commit. For git9, we ignored
this feature.

However, as we start using git/import more,
it will be useful to figure out who imported
a commit, as well as who wrote it.

This change adds support for seeing this
information in git, as well as setting the
author and committer separately in git/import.
2021-09-03 02:47:18 +00:00
Ori Bernstein
cfebf83947 git: better handling of absolute paths, regex metachars
Git currently gets a bit confused if you try to
manipulate files by absolute path.  There were also a
number of places where user-controlled file paths ended
up getting passed to regex interpretation, which could
confuse things.

This change mainly does 2 things:

	- Adds a 'drop' function which drops
	  a non-regex prefix from a string, and uses
	  that to manipulate paths, simplifies 'subst',
	  and removes 'subst -g', which was only used
	  with fixed regexes; sed does this job fine.
	- When getting a path from a user, we
	  make it absolute and then strip out the head

Along the way it cleans up a couple of stupids:

	- 'for(f in $list) if(! ~ $#f 0) use $f:
	  $f can't be a nil list because of
	  list flattening.
	- removes a useless substitution here:

	 	all=`$nl{{git/query -c $1 $2; git/query -c $2 $3} | sed 's/^..//' | \
			gsubst '^('$ourbr'|'$basebr'|'$theirbr')/*' | sort | uniq}

	  where git/query -c doesn't produce
	  paths prefixed with the query.
2021-08-17 04:31:15 +00:00
Anthony Martin
1210b12f28 troff: fix mangled fonts and character files
All of these files appear to have been imported from sources in a
case-insensitive manner and consequently lost their original content.

- Hx, Hb, and Hi fonts should be narrow versions of Helvetica

- c[1-3] fonts should be condensed versions of Century Old Style

- the lH character should be a filled left hand symbol

- the rh character should be a stroked right hand symbol

- the rc character should be the right ceiling symbol

I've verified that these are the only files that collide with others
when ignoring case (aside from rc/bin/[Kk]ill but those are correct).
2021-06-15 16:13:59 +00:00
Ori Bernstein
a73a964e51 python, hg: tow outside the environment.
they've served us well, and can ride off into the sunset.
2021-06-14 00:00:37 +00:00