<feed xmlns='http://www.w3.org/2005/Atom'>
<title>teythoon/gnumach.git/device, branch pmm-2015-08-16</title>
<subtitle>Personal GNU Mach development repository</subtitle>
<id>https://darnassus.sceen.net/cgit/teythoon/gnumach.git/atom?h=pmm-2015-08-16</id>
<link rel='self' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/atom?h=pmm-2015-08-16'/>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/'/>
<updated>2015-08-15T10:43:27Z</updated>
<entry>
<title>kern/slab: directmap update</title>
<updated>2015-08-15T10:43:27Z</updated>
<author>
<name>Richard Braun</name>
<email>rbraun@sceen.net</email>
</author>
<published>2014-12-10T20:52:40Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=f070e81f33c7f01a70923782b5358d014712d9ef'/>
<id>urn:sha1:f070e81f33c7f01a70923782b5358d014712d9ef</id>
<content type='text'>
The main impact of the direct physical mapping on the kmem module is the
slab size computation. The page allocator requires the allocation size
to be a power-of-two above the page size since it uses the buddy memory
allocation algorithm.

Custom slab allocation functions are no longer needed since the only
user was the kentry area, which has been removed recently.

The KMEM_CACHE_NOCPUPOOL flag is also no longer needed since CPU pools,
which are allocated from a kmem cache, can now always be allocated out
of the direct physical mapping.
</content>
</entry>
<entry>
<title>device: use general lock for port lists</title>
<updated>2015-08-15T10:43:26Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-24T23:55:22Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=a532bf98740841143d881898c0047b1065d9e11c'/>
<id>urn:sha1:a532bf98740841143d881898c0047b1065d9e11c</id>
<content type='text'>
* device/if_hdr.h (struct ifnet): Turn the port list locks into
general locks.
(port_list_{lock_init,lock,unlock): New macros.
* device/net_io.c (net_filter, net_set_filter): Use new macros.
* device/subrs.c (if_init_queues): Likewise.
</content>
</entry>
<entry>
<title>device: use general lock for `mach_device'</title>
<updated>2015-08-15T10:43:26Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-24T23:47:54Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=ebe071dae0cc99dc73f8ff61950f786f4f51bdbe'/>
<id>urn:sha1:ebe071dae0cc99dc73f8ff61950f786f4f51bdbe</id>
<content type='text'>
* device/dev_hdr.h (struct mach_device): Turn lock into a general lock.
(device_lock_init): New macro.
(device_lock, device_unlock): Adapt accordingly.
* device/dev_lookup.c (device_lookup): Use `device_lock_init'.
* device/ds_routines.c (device_open): Adapt accordingly.
</content>
</entry>
<entry>
<title>yyy more general locks, crashes, maybe b/c interrupt handler</title>
<updated>2015-08-15T10:43:26Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-18T14:55:12Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=74238b7db2a72ccad31264f50a1c2d3be0b05d4e'/>
<id>urn:sha1:74238b7db2a72ccad31264f50a1c2d3be0b05d4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>kern: make sure the queue macros are only used on queues</title>
<updated>2015-07-11T11:38:45Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-07-11T11:27:58Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=2ba043d04468261cc767a3b91cec6df4b2238950'/>
<id>urn:sha1:2ba043d04468261cc767a3b91cec6df4b2238950</id>
<content type='text'>
This turns mistakes as the one corrected in e59f05e9 into compile-time
errors.

* kern/queue.h: Add a new macro, queue_assert, and use it to assert
that all arguments given to the queue macros have the correct type.
* device/net_io.c (ENQUEUE_DEAD): Adapt to the fact that
`queue_next(q)' is no longer an lvalue.
</content>
</entry>
<entry>
<title>i386: improve the immediate console</title>
<updated>2015-06-28T10:55:30Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2014-03-25T21:25:44Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=4b9758c8ec6103c26228e1cda9731ab8bf1113e9'/>
<id>urn:sha1:4b9758c8ec6103c26228e1cda9731ab8bf1113e9</id>
<content type='text'>
Improve the immediate console to the point that it can be enabled and
display e.g. assertion failures from very early on (i.e. from
`c_boot_entry').

* device/cons.h (romgetc, romputc): New declarations.
* i386/configfrag.ac: Add configuration variable.
* i386/i386at/conf.c (dev_name_list): Add entry.
* i386/i386at/cons_conf.c (constab): Add entry.
* i386/i386at/immc.c: Add missing includes.
(immc_cnprobe, immc_cninit, immc_cngetc, immc_romputc): New functions.
(immc_cnputc): Fix signature, use virtual addresses.
* i386/i386at/immc.h: New file.
* i386/i386at/kd.c: Use `#if ENABLE_IMMEDIATE_CONSOLE'.
* i386/i386at/kd.h (kd_setpos): Add missing declaration.
* i386/i386at/model_dep.c (c_boot_entry): Install immediate console as
early boot console.
</content>
</entry>
<entry>
<title>kern: import `macros.h' from x15</title>
<updated>2015-05-19T14:11:56Z</updated>
<author>
<name>Justus Winter</name>
<email>4winter@informatik.uni-hamburg.de</email>
</author>
<published>2015-03-31T10:57:05Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=b3c5e41bc05bc622c637d1da75a3c63091e4e789'/>
<id>urn:sha1:b3c5e41bc05bc622c637d1da75a3c63091e4e789</id>
<content type='text'>
Import the macro definitions from the x15 kernel project, and replace
all similar definitions littered all over the place with it.

Importing this file will make importing code from the x15 kernel
easier.  We are already using the red-black tree implementation and
the slab allocator from it, and we will import even more code in the
near future.

* kern/list.h: Do not define `structof', include `macros.h' instead.
* kern/rbtree.h: Likewise.
* kern/slab.c: Do not define `ARRAY_SIZE', include `macros.h' instead.
* i386/grub/misc.h: Likewise.
* i386/i386/xen.h: Do not define `barrier', include `macros.h' instead.
* kern/macro_help.h: Delete file.  Replaced by `macros.h'.
* kern/macros.h: New file.
* Makefrag.am (libkernel_a_SOURCES): Add new file, remove old file.
* device/dev_master.h: Adopt accordingly.
* device/io_req.h: Likewise.
* device/net_io.h: Likewise.
* i386/intel/read_fault.c: Likewise.
* ipc/ipc_kmsg.h: Likewise.
* ipc/ipc_mqueue.h: Likewise.
* ipc/ipc_object.h: Likewise.
* ipc/ipc_port.h: Likewise.
* ipc/ipc_space.h: Likewise.
* ipc/ipc_splay.c: Likewise.
* ipc/ipc_splay.h: Likewise.
* kern/assert.h: Likewise.
* kern/ast.h: Likewise.
* kern/pc_sample.h: Likewise.
* kern/refcount.h: Likewise.
* kern/sched.h: Likewise.
* kern/sched_prim.c: Likewise.
* kern/timer.c: Likewise.
* kern/timer.h: Likewise.
* vm/vm_fault.c: Likewise.
* vm/vm_map.h: Likewise.
* vm/vm_object.h: Likewise.
* vm/vm_page.h: Likewise.
</content>
</entry>
<entry>
<title>Fix warnings</title>
<updated>2015-05-02T12:18:47Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2015-05-02T12:18:47Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=30ce514d975026e05a3580c7fb9ab39c9f35b84e'/>
<id>urn:sha1:30ce514d975026e05a3580c7fb9ab39c9f35b84e</id>
<content type='text'>
* device/ds_routines.c (device_open, ds_open_done, device_close,
device_write, device_write_inband, ds_write_done, device_read,
device_read_inband, ds_read_done, device_set_status, mach_device_get_status,
device_set_filter, device_map, ds_no_senders): Convert from K&amp;R declaration,
fix type of `device' into void*.
</content>
</entry>
<entry>
<title>Fix block_io_mmap prototype</title>
<updated>2015-05-02T12:05:52Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2015-05-02T12:05:52Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=8ab33477c2009b998c781111ba53d38f3c90e427'/>
<id>urn:sha1:8ab33477c2009b998c781111ba53d38f3c90e427</id>
<content type='text'>
* device/blkio.c (block_io_mmap): Fix prototype of dummy function.
* device/blkio.h (block_io_mmap): Likewise.
</content>
</entry>
<entry>
<title>device: Fix typos in comments (found by codespell)</title>
<updated>2015-01-02T19:08:45Z</updated>
<author>
<name>Stefan Weil</name>
<email>sw@weilnetz.de</email>
</author>
<published>2015-01-02T15:02:48Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/gnumach.git/commit/?id=b8fdffc2877992e5c5121bb7e011561581691d14'/>
<id>urn:sha1:b8fdffc2877992e5c5121bb7e011561581691d14</id>
<content type='text'>
Signed-off-by: Stefan Weil &lt;sw@weilnetz.de&gt;
</content>
</entry>
</feed>
