Some comments from a beginner on building Mach on non-Debian systems

2013-06-02 Thread Marin Ramesa
Hello, First of all, thanks to Thomas Schwinge for patiently replying to my Savannah generated e-mail and directing me to the projects page. I did not want to reply saying just 'thanks' as the CC: list of people was long and I did not want to further disturb people in their work. I'm learning

Re: Some comments from a beginner on building Mach on non-Debian systems

2013-06-03 Thread Marin Ramesa
On 02.06.2013 14:23:20, Marin Ramesa wrote: 2. On a Fedora system with flex installed, I had to add /mig/ lexxer.l: '%option noyywrap' as otherwise linker fails with an undefined reference. [...] mig -n -cc cat - /dev/null\ -user vm/memory_object_user.user.c -header vm

gnumach/kern/ipc_mig.c (syscall_device_write_request): rewrite translation of reply port

2013-06-03 Thread Marin Ramesa
Here's my first patch for Mach; I hope it will get reviewed. There was a variable reply_port that was set in the if statement, but not used as an argument of ds_device_write_trap. I commented out the declaration (as there is indication in the comments that in the future it might be used in the

gnumach/kern/ipc_mig.c (syscall_device_writev_request): comment unused variable

2013-06-05 Thread Marin Ramesa
The same situation as my previous patch, just a different function. I should have corrected this two compiler warnings with one patch, but I did not notice the second function. --- ./gnumach/kern/ipc_mig.c 2013-06-04 22:13:41.916218572 +0200 +++ ./gnumach1/kern/ipc_mig.c 2013-06-05

gnumach/linux/src/drivers/scsi/sr.c (requeue_sr_request): remove unneeded variable

2013-06-05 Thread Marin Ramesa
A variable that is constant throughout the whole function and not used in other statements except for keeping its value; probably a debugging leftover.--- ./gnumach/linux/src/drivers/scsi/sr.c 2013-06-01 20:41:44.358545464 +0200 +++ ./gnumach1/linux/src/drivers/scsi/sr.c 2013-06-05

[PATCH] gnumach/kern/slab.c (slab_info): fix format warnings

2013-06-28 Thread Marin Ramesa
A simple fix of printf format; vm_size_t is type defined as an unsigned int. --- ./gnumach/kern/slab.c 2013-06-28 10:10:49.951023129 +0200 +++ ./gnumach1/kern/slab.c 2013-06-28 10:44:03.020995010 +0200 @@ -1450,7 +1450,7 @@ mem_usage = (cache-nr_slabs * cache-slab_size) 10;

[PATCH] gnumach/device/ds_routines.h (device_pager_setup): add a function prototype

2013-06-28 Thread Marin Ramesa
There is a function declared in dev_pager.c, used in ds_routines.c without a prototype. --- ./gnumach/device/ds_routines.h 2013-06-28 10:10:49.875024397 +0200 +++ ./gnumach1/device/ds_routines.h 2013-06-28 19:39:36.544358212 +0200 @@ -58,4 +58,11 @@ void iowait (io_req_t ior);

[PATCH] gnumach/device/net_io.h: add function prototypes

2013-06-29 Thread Marin Ramesa
Tell the compiler that it will find these at link time; this fixes the implicit declaration warnings. --- ./gnumach/device/net_io.h 2013-06-28 10:10:49.877024364 +0200 +++ ./gnumach1/device/net_io.h 2013-06-29 09:42:58.498730719 +0200 @@ -83,4 +83,9 @@ #define net_kmsg_alloc() ((ipc_kmsg_t)

[PATCH] gnumach/device/net_io.c (bpf_hash): expect unsigned long pointer type

2013-06-29 Thread Marin Ramesa
Sometimes, bpf_hash gets arguments passed from incompatible pointer types. This patch fixes this warning. --- ./gnumach/device/net_io.c 2013-06-28 10:10:49.877024364 +0200 +++ ./gnumach1/device/net_io.c 2013-06-29 15:02:43.758232365 +0200 @@ -310,7 +310,7 @@ #define N_NET_HASH 4 #define

Re: [PATCH] gnumach/device/ds_routines.h (device_pager_setup): add a function prototype

2013-06-29 Thread Marin Ramesa
On 29.06.2013 20:48:59, Samuel Thibault wrote: Marin Ramesa, le Fri 28 Jun 2013 20:04:19 +0200, a écrit : There is a function declared in dev_pager.c, used in ds_routines.c without a prototype. Thanks. Could you take the habit of writing the ChangeLog entry? Samuel Sure. Will do

[PATCH] gnumach/ddb: rewrite db_expr.h and remove trivial function from db_expr.c

2013-07-01 Thread Marin Ramesa
Marin Ramesa marin.ram...@gmail.com * ddb/ddb_expr.h: Remove copyright notice, it's a rewrite. Remove unneeded includes. Remove obvious comment. (db_expression): Remove prototype. (db_logical_or_expr): New prototype. * ddb/ddb_expr.c (db_expression): Remove trivial function. (db_term): Call

Re: [PATCH] gnumach/ddb: rewrite db_expr.h and remove trivial function from db_expr.c

2013-07-01 Thread Marin Ramesa
On 01.07.2013 12:37:54, Marin Ramesa wrote: Also I noticed that the current build skips db_expr.h Please ignore this, I forgot to pass --enable-kdb to configure.

Re: [PATCH] gnumach/ddb: rewrite db_expr.h and remove trivial function from db_expr.c

2013-07-02 Thread Marin Ramesa
On 02.07.2013 00:45:29, Samuel Thibault wrote: Marin Ramesa, le Mon 01 Jul 2013 12:37:54 +0200, a écrit : I don't know if this qualifies as a rewrite of db_expr.h; in my mind it does, so I removed the copyright; Well, the patch doesn't make it look so :) OK, at least I tried. :) It's

[PATCH] gnumach/ddb: use and cleanup db_print.h

2013-07-02 Thread Marin Ramesa
I quote the project page: For some of the internal header files (containing function prototypes and the like), it might actually be useful to use them. (And then get rid of a bunch of extern ... statements in other files.). So, I made a preliminary patch with db_print.h. I don't really know if

[PATCH, gnumach] ddb: fix implicit declarations

2013-07-03 Thread Marin Ramesa
When building with --enable-kdb. * ddb/db_break.c: Include ddb/db_access.h. * ddb/db_examine.h (db_xcdump): Add prototype. * ddb/db_ext_symtab.c: Include vm/vm_user.h. * ddb/db_input.c: Include device/cons.h. * ddb/db_output.c: Likewise. * ddb/db_command.c: Add extern _setjmp. * ddb/db_cond.c:

Re: [PATCH, gnumach] ddb: fix implicit declarations

2013-07-03 Thread Marin Ramesa
On 03.07.2013 12:28:31, Richard Braun wrote: On Wed, Jul 03, 2013 at 11:35:31AM +0200, Marin Ramesa wrote: diff -Nurp ../gnumach/ddb/db_break.c ../gnumach1/ddb/db_break.c Please ease the life of maintainers by providing git-generated patches with a proper changelog entry. No problem. I

Re: [PATCH, gnumach] ddb: fix implicit declarations

2013-07-04 Thread Marin Ramesa
+++ ../gnumach1/ddb/db_examine.h2013-07-03 10:27:57.205341927 +0200 @@ -26,8 +26,8 @@ #include ddb/db_expr.h extern void db_examine_cmd ( - db_expr_t addr, - int have_addr, + db_expr_t addr, + int have_addr, This looks like spurious change. Samuel I have

Re: [PATCH, gnumach] ddb: fix implicit declarations

2013-07-05 Thread Marin Ramesa
On 04.07.2013 23:11:19, Samuel Thibault wrote: Please rather put it into a .h file. Here's the patch: * ddb/db_command.h (_setjmp): Add prototype. * kern/xpr.h (_setjmp): Add prototype. =46rom b5f866f80206845700c242f5005495ca20e57206 Mon Sep 17 00:00:00 2001 From: Marin Ramesa marin.ram

Re: [PATCH, gnumach] ddb: fix implicit declarations

2013-07-05 Thread Marin Ramesa
On 05.07.2013 09:45:39, Samuel Thibault wrote: Err, no, the point of putting it in a .h file is to put it into a single place, so you're sure everybody agree on the definition since it's written only once. The .h file where it's supposed to go has to be related with the function itself, e.g.

Re: [PATCH] gnumach/ddb: use and cleanup db_print.h

2013-07-06 Thread Marin Ramesa
): Likewise. (db_cond_cmd): Likewise. (db_help_cmd): Likewise. (db_def_macro_cmd): Likewise. (db_del_macro_cmd): Likewise. (db_fncall): Likewise. (db_help_cmd): Remove unused function. From fe4dba010bbe25e4d148f1cc3d488c17dca5eaac Mon Sep 17 00:00:00 2001 From: Marin Ramesa marin.ram...@gmail.com

Re: [PATCH, gnumach] ddb: fix implicit declarations

2013-07-07 Thread Marin Ramesa
On 05.07.2013 14:55:32, Marin Ramesa wrote: Putting 'extern int _setjmp(jmp_buf_t*)' to i386/i386/setjmp.h removes three implicit declaration warnings. Actually four, if db_trap.c includes machine/setjmp.h. * ddb/db_trap.c: Include machine/setjmp.h. * i386/i386/setjmp.h (_setjmp): Add

[PATCH 1/4] vm: organize vm print function prototypes

2013-07-10 Thread Marin Ramesa
/vm_print.h. From 7ad0c89384899681cdc9e39ccb7dee15f4a5bb82 Mon Sep 17 00:00:00 2001 From: Marin Ramesa m...@hi.t-com.hr Date: Wed, 10 Jul 2013 12:42:08 +0200 Subject: [PATCH 1/4] vm: organize vm print function prototypes --- vm/vm_map.c | 1 + vm/vm_map.h | 3 --- vm/vm_object.c

[PATCH 2/4] ipc: organize ipc print function prototypes

2013-07-10 Thread Marin Ramesa
. From 080ba6e2dad9b63f0939a375ed9fa299e26697b5 Mon Sep 17 00:00:00 2001 From: Marin Ramesa m...@hi.t-com.hr Date: Wed, 10 Jul 2013 13:14:27 +0200 Subject: [PATCH 2/4] ipc: organize ipc print function prototypes --- ipc/ipc_kmsg.c | 1 + ipc/ipc_port.c | 1 + ipc/ipc_port.h | 3 --- ipc

[PATCH 3/4] kern: add missing prototype

2013-07-10 Thread Marin Ramesa
* kern/lock.h (db_show_all_slocks): Add prototype. =46rom 8e5ed9a78a101bb1afb243a1b3e3c4ef07a0e2dc Mon Sep 17 00:00:00 2001 From: Marin Ramesa m...@hi.t-com.hr Date: Wed, 10 Jul 2013 13:23:07 +0200 Subject: [PATCH 3/4] kern: add missing prototype --- kern/lock.h | 2 ++ 1 file changed, 2

[PATCH 4/4] ddb: cleanup db_command.c

2013-07-10 Thread Marin Ramesa
. (ipc_kmsg_print): Likewise. (ipc_msg_print): Likewise. Include vm/vm_print.h. Include ipc/ipc_print.h. Include kern/lock.h. * i386/i386/setjmp.h [__GNUC__] (_longjmp): Add prototype. From 5e371e31032dea5760cf48dbf657df5768b9e241 Mon Sep 17 00:00:00 2001 From: Marin Ramesa m...@hi.t-com.hr Date

Re: [PATCH 4/4] ddb: cleanup db_command.c

2013-07-11 Thread Marin Ramesa
On 10.07.2013 14:14:29, Marin Ramesa wrote: Use new .h files in cleanup of db_command.c. I noticed that these four patches are very similar to what was done in XNU. Now, I don't know if they should be applied to GNU Mach, I'm not a legal expert, so I don't know if this patches are a copyright

[PATCH] chips: drop the register keyword and use boolean_t

2013-09-06 Thread Marin Ramesa
Mon Sep 17 00:00:00 2001 From: Marin Ramesa m...@hi.t-com.hr Date: Fri, 6 Sep 2013 16:42:44 +0200 Subject: [PATCH] Drop the register keyword and use boolean_t --- chips/busses.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/chips/busses.c b/chips/busses.c

[PATCH] ipc: perform conditional locking while changing the port sequence number

2013-09-07 Thread Marin Ramesa
* ipc/ipc_port.c (ipc_port_set_seqno) [MACH_SLOCKS]: Conditional locking. =46rom d56b769755a5d671f084ebdd482de8b34be9cd5b Mon Sep 17 00:00:00 2001 From: Marin Ramesa m...@hi.t-com.hr Date: Sat, 7 Sep 2013 07:37:42 +0200 Subject: [PATCH] perform conditional locking while changing the port sequence

Re: [PATCH] ipc: perform conditional locking while changing the port sequence number

2013-09-07 Thread Marin Ramesa
On 07.09.2013 08:58:14, Samuel Thibault wrote: Marin Ramesa, le Sat 07 Sep 2013 08:00:47 +0200, a écrit : * ipc/ipc_port.c (ipc_port_set_seqno) [MACH_SLOCKS]: Conditional locking. What is the rationale? Does it really bring an noticeable improvement? The locking is already conditional

Re: [PATCH] ipc: perform conditional locking while changing the port sequence number

2013-09-07 Thread Marin Ramesa
On 07.09.2013 10:46:18, Samuel Thibault wrote: And in the end mqueue never get's really used in the ipc_port_set_seqno(). It is, for locking. That's what I mean by not functional. I claim it doesn't perform locking in that one special case. But I was too hasty with the patch, I'll be

Re: [PATCH] ipc: perform conditional locking while changing the port sequence number

2013-09-07 Thread Marin Ramesa
On 07.09.2013 10:46:18, Samuel Thibault wrote: Marin Ramesa, le Sat 07 Sep 2013 10:17:29 +0200, a écrit : We have a local variable mqueue that is set by the lock, but if you look at the definition of imq_unlock() and then simple_unlock() members of mqueue just change state and they don't

[PATCH] device: cleanup of the TTY io

2013-09-08 Thread Marin Ramesa
. From 93dd68cc7c96dadde44fcd452e4aaf22cea7aecc Mon Sep 17 00:00:00 2001 From: Marin Ramesa m...@hi.t-com.hr Date: Sun, 8 Sep 2013 16:30:27 +0200 Subject: [PATCH 2/2] Cleanup of the TTY I/O. --- device/chario.c | 122 +++- device/tty.h| 7

Re: [PATCH] device: cleanup of the TTY io

2013-09-08 Thread Marin Ramesa
On 08.09.2013 18:53:02, Justus Winter wrote: Hi Marin :) I think it is awesome of you to start cleaning up gnumach, this is much overdue. But you shouldn't mash so many changes into one patch, rather split it up. By the way, gnumach uses git and using git it is very easy to keep separate

[PATCH] kern: remove all trace of luna88k arch

2013-09-09 Thread Marin Ramesa
Simple patch to remove all trace of the luna88k arch. By the way, I'm sending this to the list as a test for git-send-email as Justus suggested, so if something unexpected happens (like a duplication or something) please just ignore it. * kern/debug.c: Remove check for luna88k. ---

[PATCH 1/2] qualify constants as const

2013-09-10 Thread Marin Ramesa
* device/cirbuf.c (cb_check_enable) [DEBUG]: Qualify constant as const. --- device/cirbuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/cirbuf.c b/device/cirbuf.c index 4fe2d89..0ebff8e 100644 --- a/device/cirbuf.c +++ b/device/cirbuf.c @@ -42,7 +42,7 @@ /* if

Small cleanup of the TTY circular buffer implementation

2013-09-10 Thread Marin Ramesa
It doesn't require much cleanup, so I'm just adding const and removing the register qualifier. [PATCH 1/2] qualify constants as const [PATCH 2/2] remove register qualifiers.

[PATCH 2/2] remove register qualifiers.

2013-09-10 Thread Marin Ramesa
* device/cirbuf.c: Remove register qualifiers. --- device/cirbuf.c | 48 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/device/cirbuf.c b/device/cirbuf.c index 0ebff8e..2b10819 100644 --- a/device/cirbuf.c +++ b/device/cirbuf.c @@

[PATCH 3/5] track the console init with a boolean instead of an int

2013-09-11 Thread Marin Ramesa
A variable that keeps track if the console init has been called. It should never receive values other than 0 and 1, so constrain it's possible range of values to a boolean. * device/cons.c (cn_inited): Use boolean_t instead of an int. --- device/cons.c | 4 ++-- 1 file changed, 2

[PATCH 2/5] track the console buffer usage with a boolean instead of an int

2013-09-11 Thread Marin Ramesa
A variable that keeps track of the console buffer usage should never receive values other than 0 and 1, so constrain it's value range to boolean. Plus, it's more readable this way. * device/cons.c (consbufused): Use boolean_t instead of an int. --- device/cons.c | 8 1 file changed, 4

[PATCH 4/5] qualify constant with the const

2013-09-11 Thread Marin Ramesa
Function cnputc() should never modify it's argument so qualify it with a const keyword. * device/cons.c (cnputc): Qualify argument as const. * device/cons.h (cnputc): Likewise. --- device/cons.c | 2 +- device/cons.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git

[PATCH 1/5] drop unused CONSMAJOR

2013-09-11 Thread Marin Ramesa
CONSMAJOR is never used. I'm guessing that in the past it was a part of some problematic code. I don't see a reason to keep it's definition. * device/cons.h (CONSMAJOR): Remove definition. --- device/cons.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/device/cons.h b/device/cons.h

Some cleanup of the console code

2013-09-11 Thread Marin Ramesa
What follows is a small cleanup of the console code. [PATCH 1/5] drop unused CONSMAJOR [PATCH 2/5] track the console buffer usage with a boolean instead of an int [PATCH 3/5] track the console init with a boolean instead of an int [PATCH 4/5] qualify constant with the const [PATCH 5/5] remove

[PATCH 5/5] remove hyp_console_write() call

2013-09-11 Thread Marin Ramesa
Please comment on this removal. The check 'defined(MACH_HYP) 0' never evaluates to TRUE, so I'm guessing this was a way to comment out this code. I don't see hyp_console_write() anywhere defined except in xen, so there should be some checking for that too. Plus, the call itself look like it

Small cleanup of the device lookup code

2013-09-12 Thread Marin Ramesa
What follows is a small cleanup of the device lookup code. [PATCH 1/2] remove register qualifiers [PATCH 2/2] remove definition of NDEVICES

[PATCH 1/2] remove register qualifiers

2013-09-12 Thread Marin Ramesa
* device/dev_lookup.c: Remove register qualifiers. --- device/dev_lookup.c | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/device/dev_lookup.c b/device/dev_lookup.c index 98a2d02..e156d1a 100644 --- a/device/dev_lookup.c +++

[PATCH 2/2] remove definition of NDEVICES

2013-09-12 Thread Marin Ramesa
NDEVICES is never used. Judging by the position and the comments it was once used in initialization, but it's not anymore. I think it's safe to remove it. * device/dev_lookup.c (NDEVICES): Remove definition. --- device/dev_lookup.c | 2 -- 1 file changed, 2 deletions(-) diff --git

Re: [PATCH 1/2] qualify constants as const

2013-09-12 Thread Marin Ramesa
On 11.09.2013 23:05:44, Samuel Thibault wrote: Marin Ramesa, le Tue 10 Sep 2013 10:38:04 +0200, a écrit : #ifDEBUG -int cb_check_enable = 0; +const int cb_check_enable = 0; I'd rather not. It is useful to be able to modify the value live from the debugger, so as to enable

[PATCH 1/7] remove register qualifiers

2013-09-13 Thread Marin Ramesa
* device/dev_name.c: Remove register qualifiers. --- device/dev_name.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/device/dev_name.c b/device/dev_name.c index cef1efd..98a0e27 100644 --- a/device/dev_name.c +++ b/device/dev_name.c @@ -65,9 +65,9 @@

[PATCH 5/7] remove preprocessor comments

2013-09-13 Thread Marin Ramesa
The first one is a message that name lookup has been called, which I think is safe to remove, or maybe add #if DEBUG. Second one is a alternate calculation that I doubt it will ever be used, so I think it's safe to remove it. * device/dev_name.c: Remove preprocessor comments. ---

Small cleanup of device name routines

2013-09-13 Thread Marin Ramesa
What follows is a small cleanup of device name routines. Patches 2, 4 and 7 can be applied at the same time. They are just changes in style for consistency. I didn't know how to combine them in one commit, so I'm sending them this way, I hope this is not a problem. I'm not sure about patch 3 - I

[PATCH 7/7] another small change in style for consistency

2013-09-13 Thread Marin Ramesa
* device/dev_name.c: Change in coding style. --- device/dev_name.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device/dev_name.c b/device/dev_name.c index dc5f835..2e3b0ab 100644 --- a/device/dev_name.c +++ b/device/dev_name.c @@ -219,14 +219,14 @@ boolean_t

[PATCH 6/7] use boolean_t instead of an int

2013-09-13 Thread Marin Ramesa
Variable 'found' already receives values TRUE and FALSE, so why not make it a boolean. * device/dev_name.c: Use boolean_t instead of an int. --- device/dev_name.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/dev_name.c b/device/dev_name.c index a9056ff..dc5f835

[PATCH 2/7] small style changes for consistency

2013-09-13 Thread Marin Ramesa
* device/dev_name: Changes in coding style. --- device/dev_name.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/device/dev_name.c b/device/dev_name.c index 98a0e27..bf541df 100644 --- a/device/dev_name.c +++ b/device/dev_name.c @@ -65,9 +65,9 @@ nomap() */

[PATCH 4/7] another small change in style for consistency

2013-09-13 Thread Marin Ramesa
* device/dev_name.c: Change in coding style. --- device/dev_name.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device/dev_name.c b/device/dev_name.c index 6ce4b19..7bdbf38 100644 --- a/device/dev_name.c +++ b/device/dev_name.c @@ -170,7 +170,7 @@ boolean_t

[PATCH 3/7] name_equal: return early from function if src null-terminates in the loop

2013-09-13 Thread Marin Ramesa
Return early from function if src null-terminates in the loop before the target does. This is to prevent pointers going to addresses beyond null-termination. * device/dev_name.c (name_equal): Check if src null-terminates in the loop. --- device/dev_name.c | 5 - 1 file changed, 4

Re: [PATCH 3/7] name_equal: return early from function if src null-terminates in the loop

2013-09-13 Thread Marin Ramesa
On 13.09.2013 14:42:44, Neal H. Walfield wrote: At Fri, 13 Sep 2013 13:31:53 +0200, Marin Ramesa wrote: diff --git a/device/dev_name.c b/device/dev_name.c index bf541df..6ce4b19 100644 --- a/device/dev_name.c +++ b/device/dev_name.c @@ -69,9 +69,12 @@ name_equal(src, len, target

Re: [PATCH 3/7] name_equal: return early from function if src null-terminates in the loop

2013-09-13 Thread Marin Ramesa
On 13.09.2013 15:41:47, Neal H. Walfield wrote: At Fri, 13 Sep 2013 15:06:33 +0200, Marin Ramesa wrote: On 13.09.2013 14:42:44, Neal H. Walfield wrote: At Fri, 13 Sep 2013 13:31:53 +0200, Marin Ramesa wrote: diff --git a/device/dev_name.c b/device/dev_name.c index bf541df

Re: [PATCH 4/5] qualify constant with the const

2013-09-16 Thread Marin Ramesa
On 11.09.2013 22:14:49, Samuel Thibault wrote: Marin Ramesa, le Wed 11 Sep 2013 12:27:50 +0200, a écrit : Function cnputc() should never modify it's argument so qualify it with a const keyword. void cnputc(c) - char c; + const char c; Well, this is not really useful

Re: [PATCH 3/7] name_equal: return early from function if src null-terminates in the loop

2013-09-16 Thread Marin Ramesa
On 16.09.2013 01:59:09, Samuel Thibault wrote: Mmm, let me unloop it a bit: if (*src++ != *target++) return FALSE; if (*src == '\0' *target != '\0') return FALSE; if (*src++ != *target++) return FALSE; This shows that

Re: [PATCH 3/7] name_equal: return early from function if src null-terminates in the loop

2013-09-16 Thread Marin Ramesa
On 16.09.2013 09:38:35, Samuel Thibault wrote: Marin Ramesa, le Mon 16 Sep 2013 08:30:44 +0200, a écrit : Actually, it changes the behavior when the values at the memory locations beyond null-termination are equal. Sorry. The other version does this. It's what I intented. Err

[PATCH 4/4] coding style changes

2013-09-16 Thread Marin Ramesa
* device/dev_pager.c: Coding style changes. --- device/dev_pager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device/dev_pager.c b/device/dev_pager.c index 63726b6..da6ec7e 100644 --- a/device/dev_pager.c +++ b/device/dev_pager.c @@ -186,7 +186,7 @@ void

Small cleanup of the device pager

2013-09-16 Thread Marin Ramesa
What follows is a small cleanup of the device pager. The majority of casts are done without whitespace, so in patches 2 and 4 I modified the rest to follow this rule. I'm guessing that lint is not used anymore, so in patch 3 I suggest the removal of the associated ifdefs and code. [PATCH 1/4]

[PATCH 1/4] remove register qualifiers

2013-09-16 Thread Marin Ramesa
* device/dev_pager.c: Remove register qualifiers. --- device/dev_pager.c | 58 +++--- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/device/dev_pager.c b/device/dev_pager.c index e0ca2c7..7f49805 100644 --- a/device/dev_pager.c +++

[PATCH 3/4] remove lint code

2013-09-16 Thread Marin Ramesa
* device/dev_pager.c [lint]: Remove ifdefs and associated code. --- device/dev_pager.c | 12 1 file changed, 12 deletions(-) diff --git a/device/dev_pager.c b/device/dev_pager.c index a1b9eb9..63726b6 100644 --- a/device/dev_pager.c +++ b/device/dev_pager.c @@ -331,10 +331,6 @@

[PATCH 2/4] coding style changes

2013-09-16 Thread Marin Ramesa
* device/dev_pager.c: Coding style changes. --- device/dev_pager.c | 28 ++-- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/device/dev_pager.c b/device/dev_pager.c index 7f49805..a1b9eb9 100644 --- a/device/dev_pager.c +++ b/device/dev_pager.c @@ -262,12

[PATCH] device: remove unused file dk_label.c

2013-09-16 Thread Marin Ramesa
* device/dk_label.c: Remove file. --- device/dk_label.c | 99 --- 1 file changed, 99 deletions(-) delete mode 100644 device/dk_label.c diff --git a/device/dk_label.c b/device/dk_label.c deleted file mode 100644 index c7d459b..000 ---

[PATCH 3/4] remove lint code

2013-09-17 Thread Marin Ramesa
* device/ds_routines.c [lint]: Remove ifdefs and associated code. --- device/ds_routines.c | 13 - 1 file changed, 13 deletions(-) diff --git a/device/ds_routines.c b/device/ds_routines.c index 12b0fa9..3cf5e20 100644 --- a/device/ds_routines.c +++ b/device/ds_routines.c @@ -1080,11

[PATCH 2/4] coding style changes

2013-09-17 Thread Marin Ramesa
* device/ds_routines.c: Coding style changes. --- device/ds_routines.c | 80 ++-- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/device/ds_routines.c b/device/ds_routines.c index 73571dc..12b0fa9 100644 --- a/device/ds_routines.c

[PATCH 4/4] add comments after endifs

2013-09-17 Thread Marin Ramesa
* device/ds_routines.c [CONFIG_PCMCIA, CONFIG_INET, LINUX_DEV, MACH_HYP]: Add comments after endifs. --- device/ds_routines.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/device/ds_routines.c b/device/ds_routines.c index 3cf5e20..5282a8d 100644 ---

[PATCH 1/4] remove register qualifiers

2013-09-17 Thread Marin Ramesa
* device/ds_routines.c: Remove register qualifiers. --- device/ds_routines.c | 65 ++-- 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/device/ds_routines.c b/device/ds_routines.c index 68589de..73571dc 100644 ---

Small cleanup of the device server routines

2013-09-17 Thread Marin Ramesa
What follows is a small cleanup of the device server routines. [PATCH 1/4] remove register qualifiers [PATCH 2/4] coding style changes [PATCH 3/4] remove lint code [PATCH 4/4] add comments after endifs

Using mach_convert_device_to_port() in the device pager

2013-09-17 Thread Marin Ramesa
This is more a question than a patch. Why don't the device pager hash functions use the device server routines to track the device associated ports? If the the devices and associated ports are not in one-to-one correspodence, why do hash functions take ports as arguments, why not simply

[RFC] kern: simple futex for gnumach

2013-09-21 Thread Marin Ramesa
\ kern/host.h \ kern/ipc_host.c \ diff --git a/kern/futex.c b/kern/futex.c new file mode 100644 index 000..aba7fb1 --- /dev/null +++ b/kern/futex.c @@ -0,0 +1,166 @@ +/* + * Copyright (c) 2013 Marin Ramesa + * All rights reserved. + * + * Redistribution and use in source and binary

Re: [PATCH 2/4] coding style changes

2013-09-21 Thread Marin Ramesa
On 21.09.2013 16:13:24, Samuel Thibault wrote: Marin Ramesa, le Tue 17 Sep 2013 19:35:03 +0200, a écrit : @@ -421,7 +421,7 @@ device_open(reply_port, reply_port_type, mode, name, device_p) ipc_port_t reply_port; mach_msg_type_name_t reply_port_type; dev_mode_t mode

Re: [RFC] kern: simple futex for gnumach

2013-09-22 Thread Marin Ramesa
On 22.09.2013 01:01:31, Samuel Thibault wrote: You have missed an important thing here: it's userland which provides the value we are supposed to check for. The idea is that there is a window between when userland sees the futex as seeming locked, and here. In the meanwhile some other thread

Re: [RFC] kern: simple futex for gnumach

2013-09-22 Thread Marin Ramesa
On 22.09.2013 02:08:41, Richard Braun wrote: Also, futex_wait_lock looks to be local to futex_wait... Yes it is. But if I introduce a more global lock that should imply that there is another operation that is a candidate for being protected by the lock. Which one would that be? Or you had

Implementing events using futex calls

2013-09-22 Thread Marin Ramesa
This is a first in the series of constructs that can be used to test the new futex call (that is, when it's finished). It's based on Ulrich Drepper's paper Futexes Are Tricky and assumes the futex.h from my patch, with the exception that the corrected futex prototype is: int futex(int *address,

[RFC] Implementing a simple mutex using simple locks and futex calls

2013-09-23 Thread Marin Ramesa
This is a second test and proof of concept for the new futex call. Please comment on this. I don't know if I used the simple locks correctly (this time I at least initialized it). The idea is to implement a simple mutex using one atomic operation combined with futex calls. First, the code:

Re: [RFC] Implementing a simple mutex using simple locks and futex calls

2013-09-23 Thread Marin Ramesa
On 23.09.2013 10:35:34, Richard Braun wrote: On Mon, Sep 23, 2013 at 09:13:25AM +0200, Marin Ramesa wrote: The idea is to implement a simple mutex using one atomic operation combined with futex calls. Use the algorithms presented in Futexes are tricky, I personally won't accept anything

[PATCH] Remove lint code

2013-11-08 Thread Marin Ramesa
--- i386/i386/ast_check.c | 6 -- i386/i386at/model_dep.c | 4 i386/intel/pmap.c | 9 - kern/assert.h | 4 kern/debug.c| 3 --- kern/machine.c | 6 -- kern/macro_help.h | 5 - kern/processor.c| 6 --

[PATCH 4/4] remove register qualifiers

2013-11-10 Thread Marin Ramesa
* device/subrs.c: Remove register qualifiers. --- device/subrs.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/device/subrs.c b/device/subrs.c index a82bae3..e094f68 100644 --- a/device/subrs.c +++ b/device/subrs.c @@ -61,11 +61,11 @@ u_char

[PATCH 2/4] remove definitions of ETHERMTU and ETHERMIN

2013-11-10 Thread Marin Ramesa
* device/if_ether.h (ETHERMTU, ETHERMIN): Remove unused definitions. --- device/if_ether.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/device/if_ether.h b/device/if_ether.h index 2ac938e..dbdd818 100644 --- a/device/if_ether.h +++ b/device/if_ether.h @@ -45,9 +45,6 @@ struct

[PATCH 1/4] remove register qualifiers

2013-11-10 Thread Marin Ramesa
* device/blkio.c: Remove register qualifiers. --- device/blkio.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/device/blkio.c b/device/blkio.c index 27fec0e..939067d 100644 --- a/device/blkio.c +++ b/device/blkio.c @@ -41,9 +41,9 @@ io_return_t block_io(strat,

[PATCH 3/4] remove register qualifiers

2013-11-10 Thread Marin Ramesa
* device/net_io.c: Remove register qualifiers. --- device/net_io.c | 102 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/device/net_io.c b/device/net_io.c index fd71c02..1958840 100644 --- a/device/net_io.c +++

[PATCH 1/2] device: initialize to zero offset

2013-11-10 Thread Marin Ramesa
Initialize addr to zero offset to quiet warnings about uninitialized deallocation. * device/chario.c (addr): Initialize to zero. --- device/chario.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/chario.c b/device/chario.c index c40705e..19f3bae 100644 ---

[PATCH 2/2] avoid dereference of null pointer

2013-11-10 Thread Marin Ramesa
Check to see if pte is a null pointer and perform dereference only if that is not the case. * i386/intel/pmap.c (pte): Check if it is a null pointer. --- i386/intel/pmap.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index

Re: [PATCH 2/2] avoid dereference of null pointer

2013-11-10 Thread Marin Ramesa
On 10.11.2013 16:53:39, Samuel Thibault wrote: Marin Ramesa, le Sun 10 Nov 2013 16:46:30 +0100, a écrit : Check to see if pte is a null pointer and perform dereference only if that is not the case. * i386/intel/pmap.c (pte): Check if it is a null pointer. Well, it can never be null

Small cleanup of gnumach's assignments

2013-11-10 Thread Marin Ramesa
What follows is a small cleanup of gnumach's assignments. Patches are based on clang's dead assignment reports. [PATCH 1/5] kern: comment unused variable [PATCH 2/5] kern (rbtree_insert_rebalance): rewrite node swap [PATCH 3/5] kern: eliminate unused assignment [PATCH 4/5] vm: remove duplicate

[PATCH 2/5] kern (rbtree_insert_rebalance): rewrite node swap

2013-11-10 Thread Marin Ramesa
Value of node is never read. Simplify the node swap to one assignment and remove the temporary variable. * kern/rbtree.c (rbtree_insert_rebalance): Simplify node swap. --- kern/rbtree.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/kern/rbtree.c b/kern/rbtree.c index

[PATCH 1/5] kern: comment unused variable

2013-11-10 Thread Marin Ramesa
Variable reply_port is never used. There is indication in the comments that it might be used in future function call, so comment it. * kern/ipc_mig.c (syscall_device_writev_request): Comment variable. --- kern/ipc_mig.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git

[PATCH 4/5] vm: remove duplicate assignment

2013-11-10 Thread Marin Ramesa
* vm/vm_fault.c: Remove duplicate assignment. --- vm/vm_fault.c | 1 - 1 file changed, 1 deletion(-) diff --git a/vm/vm_fault.c b/vm/vm_fault.c index 7e84961..aacf3cb 100644 --- a/vm/vm_fault.c +++ b/vm/vm_fault.c @@ -726,7 +726,6 @@ vm_fault_return_t vm_fault_page(first_object, first_offset,

[PATCH 3/5] kern: eliminate unused assignment

2013-11-10 Thread Marin Ramesa
Value of result is never read. Eliminate the unused assignment. * kern/elf-load.c: Eliminate unused assignment. --- kern/elf-load.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kern/elf-load.c b/kern/elf-load.c index 1d103d3..c1f4bed 100644 --- a/kern/elf-load.c +++

[PATCH 5/5] vm: remove unused assignment

2013-11-10 Thread Marin Ramesa
Value of src_size is never read. Remove unused assignment. * vm/vm_map.c: Remove unused assignment. --- vm/vm_map.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vm/vm_map.c b/vm/vm_map.c index 2be7147..9d5b01c 100644 --- a/vm/vm_map.c +++ b/vm/vm_map.c @@ -3401,7 +3401,7

Re: [PATCH 3/5] kern: eliminate unused assignment

2013-11-10 Thread Marin Ramesa
On 10.11.2013 23:24:42, Justus Winter wrote: Quoting Samuel Thibault (2013-11-10 23:04:28) Marin Ramesa, le Sun 10 Nov 2013 22:50:22 +0100, a écrit : Value of result is never read. Eliminate the unused assignment. * kern/elf-load.c: Eliminate unused assignment. Justus has

[PATCH 1/5] ipc: remove register qualifiers

2013-11-11 Thread Marin Ramesa
* ipc/ipc_kmsg.c: Remove register qualifiers. --- ipc/ipc_kmsg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c index 3ad274d..3bdd6b0 100644 --- a/ipc/ipc_kmsg.c +++ b/ipc/ipc_kmsg.c @@ -2280,7 +2280,7 @@ ipc_kmsg_copyout_object(space,

[PATCH 5/5] ipc: remove register qualifiers

2013-11-11 Thread Marin Ramesa
* ipc/mach_msg.c: Remove register qualifiers. --- ipc/mach_msg.c | 82 +- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/ipc/mach_msg.c b/ipc/mach_msg.c index 00ab085..b83738b 100644 --- a/ipc/mach_msg.c +++

[PATCH 2/5] ipc: trivial stylistic fix for consistency

2013-11-11 Thread Marin Ramesa
* ipc/ipc_pset.c: Trivial stylistic fix for consistency. --- ipc/ipc_pset.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipc/ipc_pset.c b/ipc/ipc_pset.c index c016d27..29f781e 100644 --- a/ipc/ipc_pset.c +++ b/ipc/ipc_pset.c @@ -345,7 +345,7 @@ ipc_pset_print(

[PATCH 3/5] ipc: qualify constants with const

2013-11-11 Thread Marin Ramesa
* ipc/ipc_table.c: Qualify constants with const. --- ipc/ipc_table.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipc/ipc_table.c b/ipc/ipc_table.c index cbb6a89..78a82f2 100644 --- a/ipc/ipc_table.c +++ b/ipc/ipc_table.c @@ -52,10 +52,10 @@ void ipc_table_fill(

[PATCH 4/5] ipc: remove register qualifiers

2013-11-11 Thread Marin Ramesa
* ipc/ipc_thread.h: Remove register qualifiers. --- ipc/ipc_thread.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ipc/ipc_thread.h b/ipc/ipc_thread.h index fbeea46..008ab4a 100644 --- a/ipc/ipc_thread.h +++ b/ipc/ipc_thread.h @@ -75,7 +75,7 @@ MACRO_END #define

Removal of register qualifiers from kern source

2013-11-12 Thread Marin Ramesa
Hello, Attached is a gzipped series of 32 patches which remove register qualifiers from kern source. I did not want to spam the list with 32 patches, so I'm sending them as an attachment. kern_remove_register.tar.gz Description: application/compressed-tar

  1   2   3   4   5   6   >