Age | Commit message (Collapse) | Author |
|
git/push died within a subshell, which prevented the
whole program from exiting, and lead to an incorrect
ref update line that confused people.
git/send would eventually error out, but would push
all the data before that happened; this was annoying.
|
|
we need to copy the files, and we should copy them with the
permissions that exist in the repo.
|
|
No need for 2 programs doing the same job.
|
|
this is an occasionally useful side effect when
doing surgery on repos, so let's have it.
|
|
james palmer)
this fixes some pages being classified as xml by file(1),
meaning they would be rendered as plain text rather than as html.
|
|
|
|
|
|
dont' fall into the rathole.
|
|
|
|
|
|
no spaces in our lists.
|
|
it doesn't help *that* much, and confuses the code.
|
|
bring it back.
|
|
It's not fatal for someone else to push a branch
with objects that we don't have. We should deal
with it gracefully, and act as though it doesn't
exist.
|
|
we would treat paths as relative, and not
step past leading '/'s, leading to an infinte
loop.
|
|
we were switching branches before we got the full list
of modified files, which could garble what we were trying
to merge.
|
|
we were catting $gitrel onto absolute paths. stop it.
|
|
|
|
In showlist, call bwindata instead of bwinopen in order to use a
pre-existing fd to write to the data file. This existing fd will
properly honour any address set by a previous write to the addr file.
Specifically, the redraw function sets addr to "," before calling
showlist in order to overwrite the entire contents of the window.
|
|
This is implemented by checking first if the uri is
a directory containing the .git/ subdirectory.
If this is the case, we fork git/serve serving the
repository on a pipe.
|
|
This makes it easier to serve local repositories where the sandboxing
gets in the way.
|
|
We checked if the file was changed from its parents.
If there were no parents, the answer was no, but it
should be yes.
|
|
|
|
We weren't giving all objects to the twixt() function, and
it was making bad life choices -- gambling, smoking, drinking,
and packing in too much data.
With more information, it doesn't do the last.
|
|
Sdvirtio supports multiple queues per device.
We only use one queue, but we shouldn't skip the
devices because of that.
|
|
|
|
|
|
We were execing a lot to copy the data -- do less of it.
|
|
Moving the mount point to within the repo
directory means that we can have multiple
git repos mounted at once with no conflict.
|
|
|
|
|
|
behaviour in a.out(6)
For 64-bit architectures, the a.out header has the HDR_MAGIC flag set
in the magic and is expanded by 8 bytes containing the 64-bit virtual
address of the programs entry point. While Exec.entry contains physical
address for kernel images.
Our sysexec() would always use Exec.entry, even for 64-bit a.out binaries,
which worked because PADDR(entry) == entry for userspace pointers.
This change fixes it, having the kernel use the 64-bit entry point
and document the behaviour in the manpage.
|
|
|
|
|
|
|
|
Add a snapshot of git9 to 9front.
|
|
Removed:
- Challenge reponse auth.
- Noworld login.
- Anonymous users writing files to /incoming.
|
|
|
|
it turns out that calculating physical address of pml4 is faster
than reading the machine register, so pass it explicitely.
|
|
|
|
The 9p debug server was broken as it assumed the first
tree file added would have a qid of 0 (it has a qid
of 1 as the root directory is using 0 already).
Instead, just compare File* pointers and get rid of
the table (less code).
When passing 64-bit unsigned addresses as 64-bit signed
file offsets, we have to make sure to not pass negative
offsets (filtered out by kernel and lib9p)!
This is solved by clearing and sign bit in encoding and
63-bit sign extension on decoding.
Make the mem file writable (needed for acid).
The 9p debug server provided a single directory containing
mem and regs files. This patch renames the regs file
(which is in vmx specific text format) to "xregs" and
adds "regs" and "kregs" file which use the same format
as exported by the kernels /proc filesystem.
This allows one to bind the vmx directory over a proc
directory and attach acid to a running system like:
mount -b /srv/vmx /proc/1
acid -k -lkernel 1 /sys/src/9/pc64/9pc64
|
|
If we tokenize the register file contents in a static buffer,
we can avoid having to duplicate the register names.
All callers to rpoke() provide constant register arguments
so they also do not need to be duplicated.
|
|
This allows vmx to translate virtual addresses to physical
when the gues runs in long mode.
|
|
games/dmid uses the same sample rate as the chip for music, but other
applications do not. opl3 and its older version opl2 (not in 9front)
read an input stream of commands in basically IMF format, something
used in other id Software games and some others, which assumes a
given input sampling rate: 700 Hz for Wolfenstein 3D music, 560 Hz
for Commander Keen, 60 Hz for Ultima 6, etc.
The opl3 emulation on the other hand is not really intended to run at
a sampling rate different that the chip's 49.716 kHz sampling rate.
Previously, we assumed it runs at 44.1 kHz and just used the input
rate as a divisor to get the number of samples per delay tic.
From what I understand, the correct way to use it for accurate
emulation is to run the opl chip emulator at its intended sampling
frequency, then downsample to 44.1 kHz. This means better output
but more code. The alternative is to basically do the same as
before rev 8433, except with no buffering, but at accuracy/quality
loss. This change implements the former and just forks pcmconv to
deal with resampling.
|
|
|
|
|
|
|
|
They happen, and we break the cycle. There's nothing
the user can do, so there's no point in warning.
|
|
mountable file descriptor, update documentation
Now that we have these new functions,
we can also make them return an error
instead of calling sysfatal() like
postmountsrv().
Remove the confusing Srv.srvfd, as it
is only temporarily used and return
it from postsrv() instead.
|
|
|