From e793eb7557b205636f58fd76b9c0ccec34db02fa Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Sun, 13 Nov 2011 13:00:32 +0400 Subject: [PATCH] cleanup: Drop unneeded sources Signed-off-by: Cyrill Gorcunov --- Makefile | 1 - include/rbtree.h | 79 ------------ minexec.S | 20 --- minexec.ld.S | 19 --- rbtree.c | 322 ----------------------------------------------- 5 files changed, 441 deletions(-) delete mode 100644 include/rbtree.h delete mode 100644 minexec.S delete mode 100644 minexec.ld.S delete mode 100644 rbtree.c diff --git a/Makefile b/Makefile index 39523d109..4e750c714 100644 --- a/Makefile +++ b/Makefile @@ -64,7 +64,6 @@ OBJS += cr-dump.o OBJS += cr-restore.o OBJS += cr-show.o OBJS += util.o -OBJS += rbtree.o OBJS += elf.o OBJS += seize.o OBJS += restorer.o diff --git a/include/rbtree.h b/include/rbtree.h deleted file mode 100644 index af8e51cc0..000000000 --- a/include/rbtree.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * RBtree implementation adopted from the Linux - * kernel sources. - */ - -#ifndef _LINUX_RBTREE_H -#define _LINUX_RBTREE_H - -#include - -#define RB_RED 0 -#define RB_BLACK 1 -#define RB_COLOR_MASK 3 - -struct rb_node { - unsigned long rb_parent_color; - struct rb_node *rb_right; - struct rb_node *rb_left; -} __attribute__((aligned(sizeof(long)))); - -struct rb_root { - struct rb_node *rb_node; -}; - - -#define rb_parent(r) ((struct rb_node *)((r)->rb_parent_color & ~RB_COLOR_MASK)) -#define rb_color(r) ((r)->rb_parent_color & RB_BLACK) -#define rb_is_red(r) (!rb_color(r)) -#define rb_is_black(r) rb_color(r) -#define rb_set_red(r) do { (r)->rb_parent_color &= ~RB_BLACK; } while (0) -#define rb_set_black(r) do { (r)->rb_parent_color |= RB_BLACK; } while (0) - -static inline void rb_set_parent(struct rb_node *rb, struct rb_node *p) -{ - rb->rb_parent_color = (rb->rb_parent_color & RB_COLOR_MASK) |(unsigned long)p; -} - -static inline void rb_set_color(struct rb_node *rb, int color) -{ - rb->rb_parent_color = (rb->rb_parent_color & ~RB_BLACK) | color; -} - -#define RB_ROOT (struct rb_root) { NULL, } -#define rb_entry(ptr, type, member) \ - container_of(ptr, type, member) - -#define RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) -#define RB_EMPTY_NODE(node) (rb_parent(node) == node) -#define RB_CLEAR_NODE(node) (rb_set_parent(node, node)) - -static inline void rb_init_node(struct rb_node *rb) -{ - rb->rb_parent_color = 0; - rb->rb_right = NULL; - rb->rb_left = NULL; - RB_CLEAR_NODE(rb); -} - -void rb_insert_color(struct rb_node *, struct rb_root *); -void rb_erase(struct rb_node *, struct rb_root *); - -struct rb_node *rb_next(const struct rb_node *node); -struct rb_node *rb_prev(const struct rb_node *node); -struct rb_node *rb_first(const struct rb_root *node); -struct rb_node *rb_last(const struct rb_root *node); - -void rb_replace_node(struct rb_node *victim, struct rb_node *new, - struct rb_root *root); - -static inline void rb_link_node(struct rb_node *node, struct rb_node *parent, - struct rb_node **rb_link) -{ - node->rb_parent_color = (unsigned long )parent; - node->rb_left = node->rb_right = NULL; - - *rb_link = node; -} - -#endif /* _LINUX_RBTREE_H */ diff --git a/minexec.S b/minexec.S deleted file mode 100644 index 020b01da5..000000000 --- a/minexec.S +++ /dev/null @@ -1,20 +0,0 @@ -#include "syscal-codes.h" - -#define SIGSTOP 19 - - .code64 - - .global _start -_start: -1: - /* - * Simply put self into stopped state, - * the restorer will resume us anyway. - */ - movl $__NR_getpid, %eax - syscall - movl %eax, %edi - movl $__NR_kill, %eax - movl $SIGSTOP, %esi - syscall - jmp 1b diff --git a/minexec.ld.S b/minexec.ld.S deleted file mode 100644 index ce1724b73..000000000 --- a/minexec.ld.S +++ /dev/null @@ -1,19 +0,0 @@ -OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") -OUTPUT_ARCH(i386:x86-64) - -SECTIONS -{ - . = 0x400000; - ENTRY(_start) - - .text : { - *(.text) - . = ALIGN(8); - } - - .data ALIGN(0x2000) : { - *(.data) - *(.bss) - . = ALIGN(8); - } -} diff --git a/rbtree.c b/rbtree.c deleted file mode 100644 index bfaf22674..000000000 --- a/rbtree.c +++ /dev/null @@ -1,322 +0,0 @@ -/* - * RBtree implementation adopted from the Linux - * kernel sources. - */ - -#include "rbtree.h" - -static void __rb_rotate_left(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *right = node->rb_right; - struct rb_node *parent = rb_parent(node); - - if ((node->rb_right = right->rb_left)) - rb_set_parent(right->rb_left, node); - right->rb_left = node; - - rb_set_parent(right, parent); - - if (parent) { - if (node == parent->rb_left) - parent->rb_left = right; - else - parent->rb_right = right; - } else - root->rb_node = right; - rb_set_parent(node, right); -} - -static void __rb_rotate_right(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *left = node->rb_left; - struct rb_node *parent = rb_parent(node); - - if ((node->rb_left = left->rb_right)) - rb_set_parent(left->rb_right, node); - left->rb_right = node; - - rb_set_parent(left, parent); - - if (parent) { - if (node == parent->rb_right) - parent->rb_right = left; - else - parent->rb_left = left; - } else - root->rb_node = left; - rb_set_parent(node, left); -} - -void rb_insert_color(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *parent, *gparent; - - while ((parent = rb_parent(node)) && rb_is_red(parent)) { - gparent = rb_parent(parent); - - if (parent == gparent->rb_left) { - { - register struct rb_node *uncle = gparent->rb_right; - if (uncle && rb_is_red(uncle)) { - rb_set_black(uncle); - rb_set_black(parent); - rb_set_red(gparent); - node = gparent; - continue; - } - } - - if (parent->rb_right == node) { - register struct rb_node *tmp; - __rb_rotate_left(parent, root); - tmp = parent; - parent = node; - node = tmp; - } - - rb_set_black(parent); - rb_set_red(gparent); - __rb_rotate_right(gparent, root); - } else { - { - register struct rb_node *uncle = gparent->rb_left; - if (uncle && rb_is_red(uncle)) { - rb_set_black(uncle); - rb_set_black(parent); - rb_set_red(gparent); - node = gparent; - continue; - } - } - - if (parent->rb_left == node) { - register struct rb_node *tmp; - __rb_rotate_right(parent, root); - tmp = parent; - parent = node; - node = tmp; - } - - rb_set_black(parent); - rb_set_red(gparent); - __rb_rotate_left(gparent, root); - } - } - - rb_set_black(root->rb_node); -} - -static void __rb_erase_color(struct rb_node *node, struct rb_node *parent, - struct rb_root *root) -{ - struct rb_node *other; - - while ((!node || rb_is_black(node)) && node != root->rb_node) { - if (parent->rb_left == node) { - other = parent->rb_right; - if (rb_is_red(other)) { - rb_set_black(other); - rb_set_red(parent); - __rb_rotate_left(parent, root); - other = parent->rb_right; - } - if ((!other->rb_left || rb_is_black(other->rb_left)) && - (!other->rb_right || rb_is_black(other->rb_right))) { - rb_set_red(other); - node = parent; - parent = rb_parent(node); - } else { - if (!other->rb_right || rb_is_black(other->rb_right)) { - rb_set_black(other->rb_left); - rb_set_red(other); - __rb_rotate_right(other, root); - other = parent->rb_right; - } - rb_set_color(other, rb_color(parent)); - rb_set_black(parent); - rb_set_black(other->rb_right); - __rb_rotate_left(parent, root); - node = root->rb_node; - break; - } - } else { - other = parent->rb_left; - if (rb_is_red(other)) { - rb_set_black(other); - rb_set_red(parent); - __rb_rotate_right(parent, root); - other = parent->rb_left; - } - if ((!other->rb_left || rb_is_black(other->rb_left)) && - (!other->rb_right || rb_is_black(other->rb_right))) { - rb_set_red(other); - node = parent; - parent = rb_parent(node); - } else { - if (!other->rb_left || rb_is_black(other->rb_left)) { - rb_set_black(other->rb_right); - rb_set_red(other); - __rb_rotate_left(other, root); - other = parent->rb_left; - } - rb_set_color(other, rb_color(parent)); - rb_set_black(parent); - rb_set_black(other->rb_left); - __rb_rotate_right(parent, root); - node = root->rb_node; - break; - } - } - } - if (node) - rb_set_black(node); -} - -void rb_erase(struct rb_node *node, struct rb_root *root) -{ - struct rb_node *child, *parent; - int color; - - if (!node->rb_left) - child = node->rb_right; - else if (!node->rb_right) - child = node->rb_left; - else { - struct rb_node *old = node, *left; - - node = node->rb_right; - while ((left = node->rb_left) != NULL) - node = left; - - if (rb_parent(old)) { - if (rb_parent(old)->rb_left == old) - rb_parent(old)->rb_left = node; - else - rb_parent(old)->rb_right = node; - } else - root->rb_node = node; - - child = node->rb_right; - parent = rb_parent(node); - color = rb_color(node); - - if (parent == old) { - parent = node; - } else { - if (child) - rb_set_parent(child, parent); - parent->rb_left = child; - - node->rb_right = old->rb_right; - rb_set_parent(old->rb_right, node); - } - - node->rb_parent_color = old->rb_parent_color; - node->rb_left = old->rb_left; - rb_set_parent(old->rb_left, node); - - goto color; - } - - parent = rb_parent(node); - color = rb_color(node); - - if (child) - rb_set_parent(child, parent); - if (parent) { - if (parent->rb_left == node) - parent->rb_left = child; - else - parent->rb_right = child; - } else - root->rb_node = child; - - color: - if (color == RB_BLACK) - __rb_erase_color(child, parent, root); -} - -struct rb_node *rb_first(const struct rb_root *root) -{ - struct rb_node *n; - - n = root->rb_node; - if (!n) - return NULL; - while (n->rb_left) - n = n->rb_left; - return n; -} - -struct rb_node *rb_last(const struct rb_root *root) -{ - struct rb_node *n; - - n = root->rb_node; - if (!n) - return NULL; - while (n->rb_right) - n = n->rb_right; - return n; -} - -struct rb_node *rb_next(const struct rb_node *node) -{ - struct rb_node *parent; - - if (rb_parent(node) == node) - return NULL; - - if (node->rb_right) { - node = node->rb_right; - while (node->rb_left) - node=node->rb_left; - return (struct rb_node *)node; - } - - while ((parent = rb_parent(node)) && node == parent->rb_right) - node = parent; - - return parent; -} - -struct rb_node *rb_prev(const struct rb_node *node) -{ - struct rb_node *parent; - - if (rb_parent(node) == node) - return NULL; - - if (node->rb_left) { - node = node->rb_left; - while (node->rb_right) - node=node->rb_right; - return (struct rb_node *)node; - } - - while ((parent = rb_parent(node)) && node == parent->rb_left) - node = parent; - - return parent; -} - -void rb_replace_node(struct rb_node *victim, struct rb_node *new, - struct rb_root *root) -{ - struct rb_node *parent = rb_parent(victim); - - if (parent) { - if (victim == parent->rb_left) - parent->rb_left = new; - else - parent->rb_right = new; - } else { - root->rb_node = new; - } - if (victim->rb_left) - rb_set_parent(victim->rb_left, new); - if (victim->rb_right) - rb_set_parent(victim->rb_right, new); - - *new = *victim; -}